一个32位窗口程序,在客户区如何增加文字,菜单,按扭?

园区宅男 2004-01-29 09:56:58
// MyWin.cpp : Defines the entry point for the application.
//

#include "stdafx.h"

//窗口函数说明
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
char lpszClassName[]="窗口";
char lpszTitle[]="手工写的窗口";
//获取屏幕的宽度与高度,让窗口铺满屏幕
int swidthSize=::GetSystemMetrics (SM_CXSCREEN);
int sheightSize=::GetSystemMetrics (SM_CYSCREEN);
//窗口类的定义
WNDCLASS wcts;
wcts.style =CS_VREDRAW | CS_HREDRAW;
wcts.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
wcts.hIcon =LoadIcon(NULL,IDI_APPLICATION);
wcts.hCursor =LoadCursor(NULL,IDC_ARROW);
wcts.hInstance =hInstance;
wcts.cbWndExtra =0;
wcts.cbClsExtra =0;
wcts.lpszClassName =lpszClassName;
wcts.lpszMenuName =NULL;
wcts.lpfnWndProc =(WNDPROC)WndProc;

//窗口类的注册
if(!RegisterClass(&wcts))
{
return FALSE;
}

//创建窗口
HWND hWnd;
hWnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX,
0,0,swidthSize,sheightSize,
NULL,NULL,hInstance,NULL);
if(!hWnd)
{
return FALSE;
}

//显示窗口
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);

//消息循环
MSG msg;

while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

//返回操作系统
return msg.wParam ;
}


LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);

default:
return DefWindowProc(hwnd,message,wParam,lParam);

}
return (0);

}
...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
园区宅男 2004-01-30
  • 打赏
  • 举报
回复
如何用类实现窗口的显示呢?以及菜单,文字,按扭呢?
李马 2004-01-29
  • 打赏
  • 举报
回复
处理窗口的WM_PAINT消息,使用DrawText或TextOut可以写字;
注册窗口类之前,
wcts.lpszMenuName =NULL;
改变上边这一句就可以为窗口配置菜单;
处理窗口的WM_CREATE消息,使用CreateWindow或CreateWindowEx可以在窗口上创建按钮。

给你推荐一本老书Programming Windows:
http://titilima.nease.net/download/pwchs.zip
园区宅男 2004-01-29
  • 打赏
  • 举报
回复
如果你有这方面的简单的例子,就请贴出来吧!谢谢!

老书不太好买到了。
BinaryTreeEx 2004-01-29
  • 打赏
  • 举报
回复
去找一些老书看看,1,2句话数不清的。
endicking 2004-01-29
  • 打赏
  • 举报
回复
获取dc然后用
DrawText可以随便写文本
菜单,按钮请参阅其他书籍
up

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧