好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

纯WINAPI编程.pdf

6页
  • 卖家[上传人]:橙**
  • 文档编号:333327454
  • 上传时间:2022-09-01
  • 文档格式:PDF
  • 文档大小:74.44KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • /notepaper.cpp:为应用程序定义一入口点#include windows.h#include resource.h#include commctrl.h#define WM_ADJUSTSIZE WM_USER+1 BOOL InitInstance();BOOL InitApp();LRESULT CALLBACK MyWndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);BOOL CALLBACK MyDlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam);void LoadIni();void SaveIni();/全局变量HWND hWnd;HWND hWndToolTip;HWND hEdit=NULL;HINSTANCE hInst;POINT point,oldpoint;RECT rect;char textshow256;INT IniX=0,IniY=0;BOOL bCaptured=FALSE;/-WinMain 函数-int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)MSG msg;hInst=hInstance;if(!InitInstance()return-1;LoadIni();/导入 INI 文件内容InitCommonControls();/注册或初始化窗口类if(!InitApp()return-1;while(GetMessage(&msg,NULL,NULL,NULL)TranslateMessage(&msg);DispatchMessage(&msg);return msg.lParam;/-BOOL InitInstance()名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 6 页 -WNDCLASSEX wcex;wcex.cbClsExtra=0;wcex.cbWndExtra=0;wcex.style=CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS;wcex.cbSize=sizeof(WNDCLASSEX);wcex.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);wcex.hCursor=LoadCursor(NULL,IDC_ARROW);wcex.hIcon=LoadIcon(NULL,IDI_APPLICATION);wcex.hInstance=hInst;wcex.lpfnWndProc=(WNDPROC)MyWndProc;wcex.lpszClassName=NOTEPAPERWND;wcex.lpszMenuName=NULL;wcex.hIconSm=NULL;if(RegisterClassEx(&wcex)=NULL)return 0;return 1;/-BOOL InitApp()TOOLINFO ti;/工具提示消息(当鼠标放在窗口上时的提示信息)static char tooltip=桌面便条V1.5;hWnd=CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW,NOTEPAPERWND,NOTEPAPER,WS_BORDER|WS_POPUP,IniX,IniY,0,0,NULL,NULL,hInst,NULL);/创建主窗口if(hWnd=NULL)return FALSE;hWndToolTip=CreateWindow(TOOLTIPS_CLASS,(LPSTR)NULL,TTS_ALWAYSTIP,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,(HMENU)NULL,hInst,NULL);/创建浮动条窗体memset(&ti,0,sizeof(TOOLINFO);ti.cbSize=sizeof(TOOLINFO);/浮动条消息ti.uFlags=TTF_IDISHWND;ti.hwnd=hWnd;ti.uId=(UINT)hWnd;ti.lpszText=tooltip;SendMessage(hWndToolTip,TTM_ADDTOOL,0,(LPARAM)(LPTOOLINFO)&ti);ShowWindow(hWnd,SW_SHOW);SendMessage(hWnd,WM_ADJUSTSIZE,0,0);UpdateWindow(hWnd);return TRUE;/-LRESULT CALLBACK MyWndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)HDC hDC;名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 6 页 -PAINTSTRUCT ps;SIZE size;MSG msg;POINT pt;HBRUSH hbr;HFONT hfont,holdfont;static COLORREF clr=RGB(255,0,0),bkclr=RGB(0,255,255);HMENU hmenu;msg.hwnd=hWnd;msg.message=uMsg;msg.wParam=wParam;msg.lParam=lParam;GetCursorPos(&pt);msg.pt.x=pt.x;msg.pt.y=pt.y;CHOOSECOLOR cc;static DWORD adwCustColors16;memset(&cc,0,sizeof(CHOOSECOLOR);cc.lStructSize=sizeof(CHOOSECOLOR);cc.hwndOwner=hWnd;cc.Flags=CC_RGBINIT;cc.lpCustColors=adwCustColors;switch(uMsg)case WM_COMMAND:switch(wParam)case ID_MENUITEM40001:/单击 About 菜单MessageBox(hWnd,桌面便条(纯 WINAPI 调用),桌面便条,MB_OK);break;case ID_MENUITEM40002:/单击 Text Color 菜单cc.rgbResult=clr;if(:ChooseColor(&cc)clr=cc.rgbResult;InvalidateRect(hWnd,NULL,TRUE);break;case ID_MENUITEM40003:/单击 Background Color 菜单cc.rgbResult=bkclr;if(:ChooseColor(&cc)bkclr=cc.rgbResult;InvalidateRect(hWnd,NULL,TRUE);break;case ID_MENUITEM40004:/单击 Write Words 菜单PostMessage(hWnd,WM_LBUTTONDBLCLK,0,0);名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 6 页 -break;case ID_MENUITEM40005:/单击 Exit 菜单PostMessage(hWnd,WM_CLOSE,0,0);break;break;case WM_CREATE:/构造时发送消息break;case WM_ADJUSTSIZE:/移动便条窗口时发送消息hDC=GetDC(hWnd);hfont=CreateFont(18,0,0,0,0,0,0,0,0,0,0,0,FF_MODERN,0);holdfont=(HFONT)SelectObject(hDC,hfont);if(strlen(textshow)=0)strcpy(textshow,NULL!);GetTextExtentPoint32(hDC,textshow,strlen(textshow),&size);hfont=(HFONT)SelectObject(hDC,holdfont);DeleteObject(hfont);ReleaseDC(hWnd,hDC);GetWindowRect(hWnd,&rect);MoveWindow(hWnd,rect.left,rect.top,size.cx+10,size.cy+4,TRUE);break;case WM_PAINT:/重绘时发送消息hfont=CreateFont(18,0,0,0,0,0,0,0,0,0,0,0,FF_MODERN,0);hDC=BeginPaint(hWnd,&ps);holdfont=(HFONT)SelectObject(hDC,hfont);GetClientRect(hWnd,&rect);SetTextColor(hDC,clr);SetBkMode(hDC,TRANSPARENT);hbr=CreateSolidBrush(bkclr);FillRect(hDC,&rect,hbr);DrawText(hDC,textshow,-1,&rect,DT_CENTER|DT_VCENTER|DT_VCENTER|DT_SINGLELINE);hfont=(HFONT)SelectObject(hDC,holdfont);DeleteObject(hfont);EndPaint(hWnd,&ps);DeleteObject(hbr);break;case WM_LBUTTONDOWN:/单击左键时发送消息SetCapture(hWnd);bCaptured=TRUE;GetCursorPos(&oldpoint);break;/传递消息到浮动条窗体.SendMessage(hWndToolTip,TTM_RELAYEVENT,0,(LPARAM)(LPMSG)&msg);名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 6 页 -case WM_MOUSEMOVE:/鼠标键移动时发送消息RECT rect;if(bCaptured)GetWindowRect(hWnd,&rect);GetCursorPos(&point);OffsetRect(&rect,point.x-oldpoint.x,point.y-oldpoint.y);oldpoint=point;MoveWindow(hWnd,rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top,TRUE);/传递消息到浮动条窗体.SendMessage(hWndToolTip,TTM_RELAYEVENT,0,(LPARAM)(LPMSG)&msg);break;case WM_LBUTTONUP:/左键按起时发送消息if(bCaptured)ReleaseCapture();bCaptured=FALSE;/传递消息到浮动条窗体.SendMessage(hWndToolTip,TTM_RELAYEVENT,0,(LPARAM)(LPMSG)&msg);break;case WM_RBUTTONDOWN:/右键按下时发送消息hmenu=LoadMenu(hInst,(LPCTSTR)IDR_MENU1);POINT point;GetCursorPos(&point);TrackPopupMenu(GetSubMenu(hmenu,0),TPM_LEFTALIGN,point.x,point.y,0,hWnd,0);break;case WM_LBUTTONDBLCLK:/双击左键时发送消息(相当于单击 Write Words 菜单)GetWindowRect(hWnd,&rect);hEdit=。

      点击阅读更多内容
      相关文档
      【物理】跨学科实践:制作简易杆秤 2024-2025学年人教版(2024)八年级物理下册.pptx 数学 平行线的性质说课课件2024-2025学年人教版数学七年级下册.pptx 数学 平行线的判定+说课课件 2024-2025学年人教版数学七年级下册.pptx 数学 第十章 二元一次方程组复习课说课2024-2025学年人教版数学七年级下册.pptx 数学 平移说课课件2024-2025学年人教版数学七年级下册.pptx 语文名著导读《骆驼祥子》习题课件 2024-2025学年统编版语文七年级下册.pptx 语文第21课《望岳》课件-2024-2025学年统编版语文七年级下册.pptx 语文第20课《外国诗二首》课件+2024—2025学年统编版语文七年级下册.pptx 语文第9课《木兰诗》课件-2024-2025学年统编版语文七年级下册.pptx 语文第17课《陋室铭》课件-2024-2025学年统编版语文七年级下册.pptx 语文第24课《带上她的眼睛》课件-2024-2025学年统编版语文七年级下册.pptx 初中英语新外研版八年级上册Unit 1 This is me重点句子(2025秋).doc 初中英语新译林版八年级上册Unit 1 Friendship单词解析(B部分)(2025秋).doc 初中英语新人教版八年级上册Unit 2 Home Sweet Home默写练习(汉译英+英译汉+音标写英汉)(附参考答案)(2025秋).doc 初中英语新译林版八年级上册Unit 1 Friendship单词解析(C部分)(2025秋).doc 初中英语新人教版八年级上册Unit 3 Same or Different重点短语和句型汉译英练习(附参考答案).doc 初中英语新人教版八年级上册Unit 7 When Tomorrow Comes重点短语和句型汉译英练习(附参考答案).doc 语文《六国论》课件2024-2025学年统编版高一语文必修下册.pptx 语文《六国论》课件 2024-2025学年统编版高一语文必修下册.pptx 语文《祝福》课件+2024-2025学年统编版高一语文必修下册.pptx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.