滑鼠(三十)

2010-12-30 21:11:57 · 作者: · 浏览: 28239
式重新写过,我只是要告诉您大致上应该如何在应用程式中模拟对话方块。研究过程中,您会发现这样一件事:父视窗和子视窗可能要共用同键盘讯息处理。按下Spacebar键和Enter键时,子视窗将锁定复选标记。按下方向键时,父视窗将在子视窗之间移动输入焦点。实际上,当您在子视窗上单击时,情况会有些复杂,这时是父视窗而不是子视窗获得输入焦点。

CHECKER4.C如程式7-5所示。

 程式7-5 CHECKER4
CHECKER4.C
/*---------------------------------------------------------------------------
CHECKER4.C -- Mouse Hit-Test Demo Program No. 4
(c) Charles Petzold, 1998
---------------------------------------------------------------------------*/

#include <windows.h>
#define DIVISIONS 5

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
LRESULT CALLBACK ChildWndProc (HWND, UINT, WPARAM, LPARAM) ;
int idFocus = 0 ;
TCHAR szChildClass[] = TEXT ("Checker4_Child") ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("Checker4") ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;

wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon