【Windows-以编程方式获取设备的USB功耗?】教程文章相关的互联网学习教程文章

Windows 编程[18] - 更换菜单项: ModifyMenu【图】

Windows 编程[18] - 更换菜单项: ModifyMenu 本例效果图:本例使用的资源文件(TestRes.rc):MyMenu1 MENUEX BEGINMENUITEM "Open" ,101MENUITEM "Old" ,102MENUITEM "Help" ,103 END本例代码文件:program Project1;{$R TestRes.res TestRes.rc}usesWindows, Messages;const IDM_New = 202; {常量将作为修改后的菜单的标识}{收到 WM_COMMAND 消息时需要做的工作} procedure OnCommand(h: HWND; wParam: Integer); varw: Word; be...

Windows 编程[17] - 更换菜单: LoadMenu、DestroyMenu、SetMenu【图】

Windows 编程[17] - 更换菜单: LoadMenu、DestroyMenu、SetMenu 本例效果图:本例在资源文件中备有两组菜单, 程序实现运行时切换.本例使用的资源文件(TestRes.rc):MyMenu1 MENUEX BEGINMENUITEM "Open" ,101MENUITEM "Edit" ,102MENUITEM "Help" ,103MENUITEM "Chinese" ,104 ,MFT_RIGHTJUSTIFY ENDMyMenu2 MENUEX BEGINMENUITEM "打开" ,201MENUITEM "编辑" ,202MENUITEM "帮助" ,203MENUITEM "English" ,204 ,...

Windows 编程[16] - 添加与删除菜单项:GetMenu、AppendMenu、DeleteMenu、DrawMenuBar【图】

Windows 编程[16] - 添加与删除菜单项:GetMenu、AppendMenu、DeleteMenu、DrawMenuBar 本例效果图:本例在窗体建立时, 动态添加了三个菜单; 并赋予它们自我删除的功能.本例使用的资源文件(TestRes.rc):MyMenu1 MENUEX BEGINPOPUP "&File"BEGINMENUITEM "E&xit" ,101END END本例代码文件:program Project1;{$R TestRes.res TestRes.rc}usesWindows, Messages;constIDM_1 = 1; {定义三个标识菜单项的常量}IDM_2 = 2;IDM_3 = 3;{收到...

Windows 编程[15] - 菜单消息: WM_COMMAND【图】

Windows 编程[15] - 菜单消息: WM_COMMAND 本例效果图:点击任一个菜单项, 都会发出一个 WM_COMMAND 消息, 消息的 wParam 参数的低两位就是标识菜单项的那个整数!本例使用的资源文件(TestRes.rc):#define IDM_New 101 #define IDM_Open 102 #define IDM_Save 103 #define IDM_Exit 104 #define IDM_Cut 201 #define IDM_Copy 202 #define IDM_Paste 203 #define IDM_About 301MyMenu1 MENUEX DISCARDABLE BEGINPOPUP "&Fil...

Windows 编程[14] - 菜单与菜单资源(三)【图】

Windows 编程[14] - 菜单与菜单资源(三) 前面我们分别使用过 MENU 和 MENUEX 来指定菜单资源, 我发现用 MENU 不必注意大小写; 但 MENUEX 在使用参数时需要注意大小写! 另外, 指定相同的功能时, 它们使用的参数和格式也有很大的区别. 我想还是多了解 MENUEX 吧, 因为它的参数同时也是 Win32API 菜单函数们 需要的! MENUEX 有四个参数, 分别是: 菜单文本, 菜单标识(整数), 菜单格式(常数: MFT_*), 菜单样式(常数: MFS_*). 后两个参数...

Windows 编程[13] - 菜单与菜单资源(二)【图】

Windows 编程[13] - 菜单与菜单资源(二) 我们可以把上例中的资源文件修改成这样:MyMenu1 MENUEX BEGINPOPUP "&File" ,65535BEGINMENUITEM "&New" ,101MENUITEM "&Open" ,102MENUITEM "&Save" ,103MENUITEM SEPARATORMENUITEM "E&xit" ,104ENDPOPUP "&Edit" ,65535BEGINMENUITEM "Cu&t" ,201MENUITEM "&Copy" ,202MENUITEM "&Paste" ,203ENDPOPUP "&Help" ,65535BEGINMENUITEM "&About" ,301...

Windows 编程[12] - 菜单与菜单资源(一)【图】

Windows 编程[12] - 菜单与菜单资源(一) 假如我们用 TMainMenu 控件设计如下菜单: 该菜单在窗体源文件中是这样存储的: object MainMenu1: TMainMenu Left = 160 Top = 104 object File1: TMenuItemCaption = &Fileobject New1: TMenuItemCaption = &Newendobject Open1: TMenuItemCaption = &Openendobject Save1: TMenuItemCaption = &Saveendobject SaveAs1: TMenuItemCaption = Save &Asendobject N1: TMenuItemCaption = -end...

Windows 编程[11] - WM_SIZE 消息【图】

Windows 编程[11] - WM_SIZE 消息 本例效果图:program Project1;usesWindows, Messages;{供 WM_SIZE 消息调用的自定义过程} procedure OnSize(h: HWND); varRect: TRect;pt: TPoint;buf: array[0..255] of Char; beginGetWindowRect(h, Rect); {获取窗口矩形}pt.X := Rect.Right - Rect.Left; {提取宽度}pt.Y := Rect.Bottom - Rect.Top; {提取高度}wvsprintf(buf, 宽度:%d, 高度:%d, @pt); ...

Windows 编程[10] - WM_LBUTTONDOWN、WM_LBUTTONUP 和 WM_MOUSEMOVE 消息【图】

Windows 编程[10] - WM_LBUTTONDOWN、WM_LBUTTONUP 和 WM_MOUSEMOVE 消息 本例效果图:program Project1;usesWindows,Messages;{供 WM_LBUTTONDOWN 消息调用的自定义过程} procedure OnLButtonDown(h: HWND); varBrushHandle: HBRUSH;Rect: TRect; beginGetClientRect(h, Rect); {获取客户区矩形}BrushHandle := CreateSolidBrush(RGB(255,0,0)); {建立红色笔刷}FillRect(GetDC(h), Rect, BrushHandle); ...

Windows 编程[9] - WM_CLOSE 消息【图】

Windows 编程[9] - WM_CLOSE 消息 本例效果图:program Project1;usesWindows, Messages;{供 WM_CLOSE 消息调用的自定义过程} procedure OnClose(h: HWND); beginif IDOK = MessageBox(h, 确认关闭吗?, 提示, MB_OKCANCEL) thenDestroyWindow(h); end;function WndProc(wnd: HWND; msg: UINT; wParam: Integer; lParam: Integer): Integer; stdcall; beginResult := 0;case msg ofWM_CLOSE : OnClose(wnd); {在收到 WM_CLOSE 消息...

Windows 编程[8] - WM_PAINT 消息【图】

Windows 编程[8] - WM_PAINT 消息 本例效果图:program Project1;usesWindows, Messages;{供 WM_PAINT 消息调用的自定义过程} procedure OnPaint(h: HWND); conststr = CodeGear Delphi 2007; varDC: HDC;ps: PAINTSTRUCT;Rect: TRect; beginMessageBeep(0);DC := BeginPaint(h, ps);GetClientRect(h, Rect);DrawText(DC, PChar(str), -1, Rect, DT_SINGLELINE or DT_CENTER or DT_VCENTER);EndPaint(h, ps); end;function WndProc...

Windows 编程[7] - WM_CREATE 消息【图】

Windows 编程[7] - WM_CREATE 消息 本次我把生成窗口的过程做了简化, 以凸现新注入的代码; 本例效果图:program Project1;usesWindows, Messages;function WndProc(wnd: HWND; msg: UINT; wParam: Integer; lParam: Integer): Integer; stdcall; beginResult := 0;case msg ofWM_CREATE : MessageBeep(48); {在收到 WM_CREATE 消息时发出一个声音}WM_DESTROY: PostQuitMessage(0);elseResult := DefWindowProc(wnd, msg, wParam...

Windows 编程[6] - 学习窗体生成的过程六: 最终的代码!

Windows 编程[6] - 学习窗体生成的过程六: 最终的代码! program Project1;usesWindows, Messages;{回调函数; 其中要处理的消息很多, 最好用 case 语句} function WndProc(wnd: HWND; msg: UINT; wParam: Integer; lParam: Integer): Integer; stdcall; beginResult := 0;case msg ofWM_DESTROY: PostQuitMessage(0); {收到 WM_DESTROY 后, 发送 WM_QUIT 消息指示退出}else{其他消息交 DefWindowProc 处理; DefWindowProc 会返回回...

Windows 编程[5] - 学习窗体生成的过程五

Windows 编程[5] - 学习窗体生成的过程五 根据前面的介绍, 可以完成一个窗口的建立了:program Project1;usesWindows, Messages;{窗口回调函数, 必须声明在使用它的程序前面} function WndProc(wnd: HWND; msg: UINT; wParam: Integer; lParam: Integer): Integer; stdcall; beginResult := 0;if msg = WM_DESTROY then {当窗口销毁时}PostQuitMessage(0) {告诉 GetMessage: 退出吧!}elseResult := DefWindowProc(wnd, msg, wP...

Windows 编程[4] - 学习窗体生成的过程四

Windows 编程[4] - 学习窗体生成的过程四 现在需要复习一下系统与窗口的消息机制: 一个程序会有一个或多个线程, 系统有一个线程队列(就是个链表)管理所有这些线程, 并为每个线程建立一个消息队列. 当消息产生时(譬如点击了窗口), 系统会把该消息放到窗口所在的消息队列, 等待窗口处理. 窗口应该时刻待命, 准备从所在的线程队列中取出消息并处理! 从消息队列中取出消息, 一般用 GetMessage 函数; 要随时取出消息, 需要用个循环, 譬...

USB - 相关标签