`
txf2004
  • 浏览: 6848194 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Windows 程序设计3、4章笔记

 
阅读更多

#include "windows.h"
#include "stdio.h"
#include "stdlib.h"
#include "resource.h" //预编译我们的资源文件
#include "tchar.h"
LRESULT CALLBACK MyProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{ HWND hWnd ;
MSG msg ;
static TCHAR szAppName[] = TEXT ("NewWindow") ; //窗口类名
WNDCLASS cls ;
cls.cbClsExtra=0 ;
cls.cbWndExtra=0 ;
cls.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH) ;
cls.hCursor=LoadCursorFromFile("resource\\xx.ani") ;
cls.hIcon=LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1)) ;
cls.hInstance=hInstance ;
cls.lpfnWndProc=MyProc ;
cls.lpszClassName=szAppName;
cls.lpszMenuName=NULL;
cls.style=CS_HREDRAW|CS_VREDRAW| 0x00020000; //CS_DROPSHADOW 0x00020000在 vc6 以及以前的版本中没有定义 我们可以自定义 这个窗体有阴影
RegisterClass(&cls) ;
hWnd=CreateWindow("NewWindow","SDK_Window Demo",WS_TABSTOP|WS_HSCROLL|WS_VSCROLL|WS_SYSMENU ,200,200,500,400,NULL,NULL,hInstance,NULL) ;
ShowWindow(hWnd,SW_SHOWNORMAL) ;
UpdateWindow(hWnd) ;

while(GetMessage(&msg,NULL,0,0)) //获得消息 后面2个参数为0会接受任何 win32消息
{
TranslateMessage(&msg) ; //翻译消息
DispatchMessage(&msg) ;//分发消息
}

return 0;

}
LRESULT CALLBACK MyProc(
HWND hwnd,
UINT uMsg, //win32消息的类型
WPARAM wParam, //第一个附加参数
LPARAM lParam //第二个附加参数一般是值
)
{
switch (uMsg)
{
case WM_PAINT : //UpdateWindow函数的调用会进入这个消息响应
{
HDC dc ;
PAINTSTRUCT ps ;
dc=BeginPaint(hwnd,&ps) ;
SetTextAlign(dc,TA_LEFT|TA_TOP) ; //设置基点的位置 。。也就是坐标(0,0)
TextOut(dc,60,60,_T("GameWnd"),lstrlen(_T("GameWnd")));//include TCHAR.H Head File
EndPaint(hwnd,&ps) ;
return 0 ;
}
case WM_CREATE : //当窗体创建的时候 是 窗口过程接受的第一个消息
{
//SetWindowLong(hwnd,GWL_STYLE,(GetWindowLCong(hwnd,GWL_STYLE)&~WS_CAPTION)); //SetWindowLong 设置窗体的style
SetScrollRange(hwnd,SB_HORZ,0,100,FALSE) ; //SetScrollRange 设置 滚动条的范围 是min-max
SetScrollPos(hwnd,SB_HORZ,50,FALSE) ; // SetScrollPos设置滚动条的位置 是相对与 min-max中的位置 最后一个参数设置为false表示不需要重绘
//InvalidateRect会使客户区域变为 Invalid Area 从而向消息队列中加入 WM_PAINT 消息但始终合格消息的优先级较低 但是我们可以调用 UpdateWindow立即更新窗口
//也就是 说 在调用了 InvalidateRect 时候接着调用 UpdateWindow 才会立即重绘
//新的函数 GetScrollInfo 和 GetScrollInfo函数可以完成上述四个函数的功能具体应用 MSDN

return 0 ;
}
case WM_CHAR :
{
if('Q'==(char)wParam)
if(IDYES==MessageBox(hwnd,_T("是否要退出?"),_T("提示"),MB_YESNO) )
{
DestroyWindow(hwnd) ; //销毁窗体
}
return 0 ;
}
case WM_DESTROY:
{
PostQuitMessage(0); //向消息队列中发送一个退出消息
return 0;
}

}
return DefWindowProc(hwnd,uMsg,wParam,lParam) ; //返回缺省的窗口过程
}

分享到:
评论

相关推荐

    Windows程序设计笔记

    3、掌握在WM_PAINT消息和在其他消息中得到DC的方法 4、掌握的常见的绘图函数的使用、画笔、画刷的使用 5、掌握WM_CREATE、WM_COMMAND、鼠标消息的处理方法 6、掌握菜单的使用(菜单消息处理) 7、掌握文件存储(设计...

    Windows环境MASN32汇编程序设计学习笔记

    Windows环境MASN32汇编程序设计学习笔记Windows环境MASN32汇编程序设计学习笔记Windows环境MASN32汇编程序设计学习笔记Windows环境MASN32汇编程序设计学习笔记Windows环境MASN32汇编程序设计学习笔记Windows环境MASN...

    Windows程序设计笔记(1,2,3)

    近有幸拜读了Charles Petzold的大作《Windows程序设计》,真有种相见恨晚的感觉。这是一本1999年出版、主要讲述在Windows平台下如何使用C语言调用API函数进行软件开发的老书。在当今RAD工具充斥市场的今天,该书依然...

    windows环境MASM32汇编程序设计学习笔记

    windows环境MASM32汇编程序设计学习笔记windows环境MASM32汇编程序设计学习笔记windows环境MASM32汇编程序设计学习笔记windows环境MASM32汇编程序设计学习笔记

    windows程序设计读书笔记一(窗口与消息)

    windows程序设计读书笔记一(窗口与消息)

    windows程序设计笔记

    一位具有工作经验的程序员对《windows程序设计》的切身感悟!

    MFC Windows程序设计学习笔记

    MFC Windows程序设计(第二版)精华浓缩笔记,内容丰富详实,可以帮助MFC初学者快速入门

    Windows程序设计读书笔记(合集)

    NULL 博文链接:https://liujunsong.iteye.com/blog/460309

    Win32程序设计学习笔记

    Win32程序设计学习笔记,学习windows 程序设计的最佳搭档

    Windows程序设计入门

    Windows程序设计 最最基础的东西啦 不是网上的那本书啦 呵呵 有需要的下 最近准备写个这方面学习笔记 写好了再穿上来 不过很次的

    Win32多线程程序设计_WIN32多线程程序设计学习笔记.zip

    Windows多线程程序设计_WIN32多线程程序设计学习笔记.zip

    Windows2000 服务器端应用程序开发设计指南

    JAWS:高性能Web服务器构架 08-06-13 ACE应用-第3章 应用模式语言开发可扩展ORB中间件 08-05-06 编程精粹 - 多年前的笔记 08-05-06 Windows2000 服务器端应用程序开发设计指南-目录 08-05-06 Win2000服务器端应用...

    Windows驱动开发集合(PDF+笔记+随书源码+CHM帮助)

    Microsoft Windows驱动程序模型设计 Windows驱动学习笔记 Windows文件系统过滤驱动开发教程(第二版) WDMdriver3随书附带光盘 WIN2000驱动程序设计 windows驱动模型 驱动程序超级宝典 笔记及Driverstudio

    windows程序设计

    windows程序设计题目,图书管理系统 工资管理系统 菜单管理系统 读书笔记等

    C++学习笔记

    C++ 程序设计特别版学习笔记(一) C++程序设计特别版学习笔记(二) ...C++程序设计特别版学习笔记(四) C++程序设计特别版学习笔记(五) 初级 WINDOWS API C++语言版 编程(2) 初级 WINDOWS API C++语言版 编程(3)

    windows 程序设计

    windows 程序设计王艳平 编程宝典

    Windows笔记资料

    笔记本通过手机上网; 恢复XP系统右键新建公文包; 实现批处理的完全无人值守运行; 注册Exe程序为Windows系统服务;...找DLL下载站,dll下载,DLL大全,系统开机提示,DLL文件缺少,windows dll - 找DLL下载站

Global site tag (gtag.js) - Google Analytics