博文

MFC中模拟进程间的通信(2010-04-02 14:06:00)

摘要:void CClipDlg::OnButton1() { // TODO: Add your control notification handler code here  if(OpenClipboard()) {  CString mystr;     HGLOBAL hClip;     char *pstr; // OpenClipboard();  EmptyClipboard();     GetDlgItemText(IDC_EDIT1,mystr);     hClip = GlobalAlloc(GMEM_MOVEABLE,mystr.GetLength()+1);     pstr =(char *) GlobalLock(hClip);     strcpy(pstr,mystr);     GlobalUnlock(hClip);     SetClipboardData(CF_TEXT,hClip);     CloseClipboard(); }} void CClipDlg::OnButton2() { // TODO: Add your control notification handler code here if(OpenClipboard()) {          if(IsClipboardFormatAvailable(CF_TEXT))    {     HGLOBAL hclip;     char *pstr;  ......

阅读全文(2212) | 评论:0

创建窗口分区的方法步骤(2009-10-19 11:00:00)

摘要:最近在搞一个进行OpenGL编程的框架模板,采用的技术是mfc中的窗口分区视图的方法来显示。但一开始创建窗口分区的时候老是提示创建空白文档失败的错误,后来经过修改,运行正确。下面将这个方法与大家共享。本例不包含任何实质性的操作。仅实现窗口分区。 步骤: 1、创建一个mfc的SGI工程。 2、利用资源管理器创建两个对话框。命名分别为Dialog1、Dialog2. 3,将这两个新建对话框的style属性设置成Child 4、为这两个对话框添加两个类,基类为视图类,假设类名为:Child1.Child2 5,在框架的实现文件中添加刚才新建的两个对话框的头文件 6,重在主框架的OnCreateClient()函数,在函数体中添加如下代码: 7,  在主框架的的头文件中添加public成员变量 CSplitterWnd    m_csplitter; CRect re; GetCliebtRect(&re); CSize paine(re.width()/3,re.Height()); m_csplitter.Create(this,1,2);//创建的窗口分区为1行两列 m_csplitter.CreateView(0,0,RUNTIME_CLASS(Child1),panine,pContext); m_csplitter.CreateView(0,1,RUNTIME_CLASS(Child2),panine,pContext); return;   8,编译运行即可 请勿私自转载......

阅读全文(2709) | 评论:1

简单数据库管理代码(2009-10-13 18:50:00)

摘要: 界面部分如上,代码部分不知道怎么发,可以mail我,O(∩_∩)O~......

阅读全文(1786) | 评论:0

椭圆自动变形(2009-09-30 17:09:00)

摘要:下面这段代码是在窗口中按下CTROL后画一个椭圆。然后按上下左右键改变椭圆的形状,pageup pagedown键改变椭圆位置。 具体请看代码。呵呵 //全局变量 int icount;int lx=200,ly=200,rx=400,ry=300;//矩形的长宽高#ifndef VK_PAGE_UP#define VK_PAGE_UP 0x021#define VK_PAGE_DOWN 0x022#endif //具体代码处理逻辑 LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam){ HDC hdc; PAINTSTRUCT ps; HPEN hP; switch(message) { case WM_KEYDOWN:  {   switch(wParam)   {             case VK_CONTROL:             icount=1;       lx=200,ly=200,rx=400,ry=300;              InvalidateRect(hWnd,NULL,TRUE);              break;            case VK_RIGHT:    ......

阅读全文(2409) | 评论:4

窗体处理键盘输入代码(2009-09-29 21:19:00)

摘要:此代码仅支持ctrl \up\down\shift的简单处理。组合键还在学习中。有知道的可以共享一下。先谢谢啦   LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam){ HDC hdc; PAINTSTRUCT ps; TEXTMETRIC tm; //PIONT pt; char *str[]= {       "您按了UP键",       "您按了SHIFT键",       "您按了CTRL和A键",       "您按了DOWN键" }; //RegisterHotKey(hWnd,1,VK_CONTROL,VK_A); switch(message) { case WM_KEYDOWN:  {   switch (wParam)   {   case VK_UP:    icount=1;    break;   case VK_SHIFT:    icount=2;    break;   case VK_CONTROL:           icount=3;    break;   case VK_DOWN://&&VK_B:    icount......

阅读全文(1871) | 评论:0

vc实现字体的移动和变色(2009-09-27 17:10:00)

摘要:代码如下,具体意思不再赘述,很简单. #include<windows.h>#include<stdlib.h>#include<string.h> LRESULT CALLBACK WndProc(HWND hWnd,UINT message,UINT wParam,LONG lParam);BOOL InitWindowsClass(HINSTANCE hInstance);BOOL InitWindow(HINSTANCE hInstance,int nCmdShow); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lPCmdLine,int nCmdShow){ MSG Msg; if(!InitWindowsClass(hInstance)) {  return FALSE; } if(! InitWindow(hInstance,nCmdShow)) {  return FALSE; }  while(GetMessage(&Msg,0,0,0)) {  TranslateMessage(&Msg);  DispatchMessage(&Msg); } return Msg.wParam;} //define the windowclassnameBOOL InitWindowsClass(HINSTANCE hInstance){ WNDCLASS windowclass; windowclass.cbClsExtra=0; windowclass.cbWndExtra=0; windowclass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH)); windowclass.hCursor=LoadCursor(NULL,IDC_ARROW); windowclass.hIcon=LoadIc......

阅读全文(1909) | 评论:0

windows第一个程序(2009-09-24 22:05:00)

摘要:#include<windows.h>#include<stdlib.h>#include<string.h> long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG IParam);   // 获取BOOL InitWindowsClass(HINSTANCE hInstance);BOOL InitWindows(HINSTANCE hInstance,int nCmdShow); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){ MSG Message; if(!InitWindowsClass(hInstance)) {  return FALSE; } if(!InitWindows(hInstance,nCmdShow)) {  return FALSE; } while(GetMessage(&Message,0,0,0)) {  TranslateMessage(&Message);  DispatchMessage(&Message); } return Message.wParam;} long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG IParam){ HDC hDC; HBRUSH hBrush; HPEN hPen; PAINTSTRUCT PtStr; switch(iMessage) { case WM_PAINT:  hDC=BeginPaint(hWnd,&PtStr);  SetMapMode(hDC,MM_ANISOTROPIC);  hPen=(HPE......

阅读全文(1356) | 评论:0