#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
#include "resource.h"
HINSTANCE g_hInstance;
LRESULT CALLBACK Windowproc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}BOOL CALLBACK SettingProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
case WM_SYSCOMMAND:
if(SC_CLOSE==wParam) {EndDialog(hwndDlg,101); return TRUE;}
break;
}
return false;
}void OnCreate_c(HWND hWnd)
{
INT nRet = DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_DIALOG1),hWnd,SettingProc);
}void OnSysmenu(HWND hWnd)
{
HMENU hSysMenu = GetSystemMenu(hWnd,TRUE);
AppendMenu(hSysMenu,MF_SEPARATOR,0,"");
AppendMenu(hSysMenu,MF_STRING,1005,"myDialog");
}void OnSyscommand(HWND hWnd,WPARAM wParam)
{
switch(LOWORD(wParam))
{
case 1005:
OnCreate_c(hWnd);
break;
}
}LRESULT CALLBACK ChildProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{ switch(uMsg)
{
case WM_CREATE:
OnSysmenu(hWnd);
break;
case WM_SYSCOMMAND:
OnSyscommand(hWnd,wParam);
break;
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}void Register(LPSTR pszClassName, WNDPROC pszWndProc )
{
WNDCLASSEX obj={0};
obj.cbSize = sizeof(obj);
obj.cbClsExtra=0;
obj.cbWndExtra=0;
obj.hbrBackground=(HBRUSH)(COLOR_GRAYTEXT+2);
obj.hCursor=NULL;
obj.hIcon=NULL;
obj.hIconSm=NULL;
obj.hInstance=g_hInstance;
obj.lpfnWndProc=pszWndProc;
obj.lpszClassName=pszClassName;
obj.lpszMenuName=NULL;
obj.style=CS_HREDRAW|CS_VREDRAW|CS_OWNDC;
RegisterClassEx(&obj);
}void Register_o(LPSTR pszClassName, WNDPROC pszWndProc )
{
WNDCLASSEX obj={0};
obj.cbSize = sizeof(obj);
obj.cbClsExtra=0;
obj.cbWndExtra=0;
obj.hbrBackground=(HBRUSH)(COLOR_GRAYTEXT+2);
obj.hCursor=NULL;
obj.hIcon=NULL;
obj.hIconSm=NULL;
obj.hInstance=g_hInstance;
obj.lpfnWndProc=pszWndProc;
obj.lpszClassName=pszClassName;
obj.lpszMenuName=NULL;
obj.style=CS_HREDRAW|CS_VREDRAW|CS_OWNDC;
RegisterClassEx(&obj);
}HWND Create(LPSTR pszClassName,LPSTR pszWndName)
{
HWND hWnd= CreateWindowEx(NULL,pszClassName,pszWndName,WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,g_hInstance,NULL);
return hWnd;
}HWND CreateChild(LPSTR pszClassName,LPSTR pszWndName,HWND hParent)
{
HMENU hMenu = LoadMenu(g_hInstance,MAKEINTRESOURCE(IDR_MENU1));
HWND hChild = CreateWindowEx(0,pszClassName,pszWndName,WS_CHILD|WS_VISIBLE|WS_OVERLAPPEDWINDOW,100,100,350,350,hParent,hMenu,g_hInstance,NULL);
return hChild;
}void Display(HWND hWnd)
{
ShowWindow(hWnd,SW_SHOW);
UpdateWindow(hWnd);
}void Message(HWND hWnd)
{
MSG nMsg={0};
while(GetMessage(&nMsg,NULL,0,0))
{
TranslateMessage(&nMsg);
DispatchMessage(&nMsg);
}
}int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
g_hInstance=hInstance;
Register("Main", (WNDPROC)Windowproc);
Register_o("child", (WNDPROC)ChildProc);
HWND hMain = Create("Main","Application");
HWND hChild = CreateChild("child","Hello,Client",hMain);
Display(hMain);
Message(hMain);
return 0;
}
#include "stdio.h"
#include "windows.h"
#include "resource.h"
HINSTANCE g_hInstance;
LRESULT CALLBACK Windowproc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}BOOL CALLBACK SettingProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
case WM_SYSCOMMAND:
if(SC_CLOSE==wParam) {EndDialog(hwndDlg,101); return TRUE;}
break;
}
return false;
}void OnCreate_c(HWND hWnd)
{
INT nRet = DialogBox(g_hInstance,MAKEINTRESOURCE(IDD_DIALOG1),hWnd,SettingProc);
}void OnSysmenu(HWND hWnd)
{
HMENU hSysMenu = GetSystemMenu(hWnd,TRUE);
AppendMenu(hSysMenu,MF_SEPARATOR,0,"");
AppendMenu(hSysMenu,MF_STRING,1005,"myDialog");
}void OnSyscommand(HWND hWnd,WPARAM wParam)
{
switch(LOWORD(wParam))
{
case 1005:
OnCreate_c(hWnd);
break;
}
}LRESULT CALLBACK ChildProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{ switch(uMsg)
{
case WM_CREATE:
OnSysmenu(hWnd);
break;
case WM_SYSCOMMAND:
OnSyscommand(hWnd,wParam);
break;
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}void Register(LPSTR pszClassName, WNDPROC pszWndProc )
{
WNDCLASSEX obj={0};
obj.cbSize = sizeof(obj);
obj.cbClsExtra=0;
obj.cbWndExtra=0;
obj.hbrBackground=(HBRUSH)(COLOR_GRAYTEXT+2);
obj.hCursor=NULL;
obj.hIcon=NULL;
obj.hIconSm=NULL;
obj.hInstance=g_hInstance;
obj.lpfnWndProc=pszWndProc;
obj.lpszClassName=pszClassName;
obj.lpszMenuName=NULL;
obj.style=CS_HREDRAW|CS_VREDRAW|CS_OWNDC;
RegisterClassEx(&obj);
}void Register_o(LPSTR pszClassName, WNDPROC pszWndProc )
{
WNDCLASSEX obj={0};
obj.cbSize = sizeof(obj);
obj.cbClsExtra=0;
obj.cbWndExtra=0;
obj.hbrBackground=(HBRUSH)(COLOR_GRAYTEXT+2);
obj.hCursor=NULL;
obj.hIcon=NULL;
obj.hIconSm=NULL;
obj.hInstance=g_hInstance;
obj.lpfnWndProc=pszWndProc;
obj.lpszClassName=pszClassName;
obj.lpszMenuName=NULL;
obj.style=CS_HREDRAW|CS_VREDRAW|CS_OWNDC;
RegisterClassEx(&obj);
}HWND Create(LPSTR pszClassName,LPSTR pszWndName)
{
HWND hWnd= CreateWindowEx(NULL,pszClassName,pszWndName,WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,g_hInstance,NULL);
return hWnd;
}HWND CreateChild(LPSTR pszClassName,LPSTR pszWndName,HWND hParent)
{
HMENU hMenu = LoadMenu(g_hInstance,MAKEINTRESOURCE(IDR_MENU1));
HWND hChild = CreateWindowEx(0,pszClassName,pszWndName,WS_CHILD|WS_VISIBLE|WS_OVERLAPPEDWINDOW,100,100,350,350,hParent,hMenu,g_hInstance,NULL);
return hChild;
}void Display(HWND hWnd)
{
ShowWindow(hWnd,SW_SHOW);
UpdateWindow(hWnd);
}void Message(HWND hWnd)
{
MSG nMsg={0};
while(GetMessage(&nMsg,NULL,0,0))
{
TranslateMessage(&nMsg);
DispatchMessage(&nMsg);
}
}int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
g_hInstance=hInstance;
Register("Main", (WNDPROC)Windowproc);
Register_o("child", (WNDPROC)ChildProc);
HWND hMain = Create("Main","Application");
HWND hChild = CreateChild("child","Hello,Client",hMain);
Display(hMain);
Message(hMain);
return 0;
}
解决方案 »
- job绑定成功,但是SetInformationJobObject失败,怎么玩
- 使用vc6.0习惯了,是否有必要改为vs2008????
- 应该是3902.80,得到的是3905.81,为什么?
- 剪贴板监控程序:在Debug下运行正常,在Release下一启动就非法操作(附源程序)
- 怎么知道当前的某个 dll 被那些进程在使用?有什么工具?
- 用一个ocx控件实现安装杀毒软件客户端,没有思路,求教
- 试试提问
- 高手请进:如何在MFC类里运用多线程?
- 有没有写过这样的类,类似Delphi中的Panel组件?
- CArray中怎样获得已存对象的数目,而不是分配的对象内存个数?
- 保存屏幕时为什么鼠标没有保存进去
- 没做过大程序,我毕业设计想做个人信息管理系统麻烦大家帮我想一想
系统菜单与菜单 你分不清楚吗?