windows窗体应用程序程序设计

如何在在线的MSDN库上找到windows窗体编程的最基本的API函数?_百度知道
如何在在线的MSDN库上找到windows窗体编程的最基本的API函数?
能找到最基本的函数就行,就是不知道是在哪一类(msdn中的)API里。
提问者采纳
(v=vs.85).aspx
提问者评价
按照你说的,真的成功了,好开心,谢谢你!
其他类似问题
为您推荐:
您可能关注的推广回答者:
api函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁播放列表加载中...
正在载入...
分享视频:
嵌入代码:
拍下二维码,随时随地看视频
Windows窗口高级编程前言
上 传 者:
内容介绍:
Windows窗口高级编程前言
Channel Me 精选
我来说点啥
版权所有 CopyRight
| 京网文[0号 |
| 京公网安备:
互联网药品信息服务资格证:(京)-非经营性- | 广播电视节目制作经营许可证:(京)字第403号
<img src="" width="34" height="34"/>
<img src=""/>
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img width="132" height="99" src=""/>
在线人数:
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img src="///img/blank.png" data-src=""/>
<img src="///img/blank.png" data-src="http://"/>
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/>
<i data-vid="" class="ckl_plays">
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/><i data-vid="" class="ckl_plays">
没有数据!
{upload_level_name}
粉丝 {fans_count}
{video_count}
{description}Windows界面编程(4) 异形窗体 高富帅版 - VC.NET教程 - 编程入门网
Windows界面编程(4) 异形窗体 高富帅版
上一篇《Windows界面编程第三篇 异形窗体 普通版》介绍了异形窗口(异形窗体)的创建,其主要步骤为&&先通过创建位图画刷来做窗口的背景画刷,再通过SetWindowLong为窗体加上WS_EX_LAYERED属性,然后使用SetLayeredWindowAttributes指定窗口的透明色来完成窗口形状的调整。并且为了使异形窗口支持鼠标的拖曳,在WM_LBUTTONDOWN消息中作了特殊处理。
然后在下图中有非常相似的两个异形窗体,只不过,左边的异形窗体小,右边的异形窗体大。这个可以怎么实现了?
先通过其它软件来缩放位图,然后再让程序加载这种方式来指定异形窗口的大小。这种方法虽然可以完成任务,但毕竟太OUT了。
由《Windows界面编程第一篇位图背景与位图画刷》可以想到不用位图画刷,而直接在窗口背景绘制时使用StretchBlt来缩放位图至窗口大小,这样就可以达到指定窗口大小的功能。
由于异形窗口运行后无法通过鼠标来动态调整窗口大小,因此可以窗口初始化时就可以先缩放位图并加载到一个缓冲HDC中,然后再在窗口背景绘制时使用BitBlt来贴图。这种做法只需要缩放位图一次,在每次背景绘制时只须拷贝位图,对程序的效率会有提高。下面给出完整源代码(下载地址:http://download.csdn.net/download/morewindows/4966819)windows程序设计中,怎么让窗口居屏幕中间 - C语言当前位置:& &&&windows程序设计中,怎么让窗口居屏幕中间windows程序设计中,怎么让窗口居屏幕中间&&网友分享于:&&浏览:91次windows程序设计中,如何让窗口居屏幕中间?如题,是在WINAPI主函数中注册一个窗口类,然后create,但是发现窗口每次都不是出现在屏幕中间而是左上角hwnd&=&CreateWindow&(szAppName,&NULL,&WS_OVERLAPPEDWINDOW&&&~WS_MAXIMIZEBOX&&&~WS_THICKFRAME,&
CW_USEDEFAULT,&CW_USEDEFAULT,&280,&140,&NULL,&NULL,&hInstance,&NULL);请问要怎样做才能让窗口居屏幕中间?
------解决方案--------------------SetWindowPos(&NULL,(rScreen.right-(rWindow.right-rWindow.left))&/&2,
&&&&&&&&&&&&&&&&&&&&(rScreen.bottom-(rWindow.bottom-rWindow.top))&/&2,
&&&&&&&&&&&&&&&&&&&&&0,0,
&&&&&&&&&&&&&&&&&&&&&SWP_NOSIZE&------解决方案--------------------&SWP_SHOWWINDOW&);------解决方案--------------------CWnd::CenterWindow
CWindow::CenterWindow
取屏幕大小:
GetSystemMetrics(SM_CXSCREEN);
GetSystemMetrics(SM_CYSCREEN);
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有C++Windows编程之创建窗口 - 推酷
C++Windows编程之创建窗口
注册窗口类。接下来就是创建窗体。
& 我们用Visual Studio创建一个win32项目上会自动生成一个创建窗体函数。如下:
函数: InitInstance(HINSTANCE, int)
目的: 保存实例句柄并创建主窗口
在此函数中,我们在全局变量中保存实例句柄并
创建和显示主程序窗口。
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
hInst = hI // 将实例句柄存储在全局变量中
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if (!hWnd)
return FALSE;
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return TRUE;
下面一句一句解释:
h 是类型描述,表示句柄, Wnd 是变量对象描述,表示窗口,所以hWnd 表示窗口句柄
通俗地说,如果把一个到处跑的人当作指针的话,那么HWND就是该人的身份证----我想应该是身份证号码
hInst是项目自动生成的一个全局变量,代码如下: HINSTANCE hI // 当前实例所以这句话的意识就是将实例句柄存储在全局变量中。
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,&&&&&& CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
&CreateWindow函数创建一个重叠式窗口、弹出式窗口或子窗口。它指定窗口类,窗口标题,窗口风格,以及窗口的初始位置及大小(可选的)。函数也指该窗口的父窗口或所属窗口(如果存在的话),及窗口的菜单。若要使用除CreateWindow函数支持的风格外的扩展风格,则使用CreateWindowEx函数代替CreateWindow函数。函数原型为:
HWND CreateWindow(
LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HANDLE hlnstance,
LPVOID lpParam);
风&& 格&&& 宏
WS_caption
有标题框的窗口(包括WS_BODER风格)
作为一个弹出式窗口
作为子窗体(与WS_popup互斥)
WS_disabled
窗口不能初始化,并且屏蔽与用户的交互
WS_dlgframe
窗口的外观类似与对话框
作为窗体的控件,可以与其他控件组合
WS_hscroll
窗口具有水平滚动条
WS_vscroll
窗口具有垂直滚动条
WS_maximize
初始状态为最大化的窗口
WS_maximizebox
窗口右上角有一个最大化按钮
WS_minimize
初始状态为最小化的窗口
WS_minimizebox
窗口右上角有一个最小化按钮
WS_overlappedwindow
这是一个宏组合。为了方便书写,它等价于WS_overlapped|WS_caption|WS_sysmenu|WS_thickframe|WS_minimizebox|WS_maximizebox
WS_overlapped
边框重叠的窗口
WS_sizebox
窗口的边框可以变化
WS_sysmenu
在窗口的标题栏的最左上角有一个窗口菜单
WS_tabstop
窗口作为控件,并且交互可以停留在这个控件上
WS_visible
窗口建立的初始状态是可见的
x,y,nWidth,nHeight
制定了窗口的位置和大小,x和y指定初始左定点坐标,nWidth和nHeight指定宽度和高度。
hWndParent
指向被创建窗口的父窗口或所有者窗口的句柄。若要创建一个子窗口或一个被属窗口,需提供一个有效的窗口句柄。这个参数对弹出式窗口是可选的。
菜单句柄,或依据窗口风格指明一个子窗口标识。对于层叠或弹出式窗口,hMenu指定窗口使用的菜单:如果使用了菜单类,则hMenu可以为NULL。对于子窗口,hMenu指定了该子窗口标识(一个整型量),一个对话框使用这个整型值将事件通知父类。应用程序确定子窗口标识,这个值对于相同父窗口的所有子窗口必须是唯一的。
在早期的操作系统中,如Windows 95/98/Me,该参数指定与窗口相关的模块实例的句柄,而在较新的操作系统中,如Windows NT/2000/XP/7,可以不理睬该参数。
指向一个值的指针,该值传递给窗口 WM_CREATE消息。该值通过在IParam参数中的CREATESTRUCT结构传递。如果应用程序调用CreateWindow创建一个MDI客户窗口,则lpParam必须指向一个CLIENTCREATESTRUCT结构。返回值:如果函数成功,返回值为新窗口的句柄:如果函数失败,返回值为NULL。若想获得更多错误信息,请调用GetLastError函数。
if (!hWnd)
return FALSE;
失败,则返回错误
ShowWindow(hWnd, nCmdShow);
显示窗体,ShowWindow函数的原型为BOOL ShowWindow(HWND hWnd,int nCmdShow);第一个参数指定要显示窗口的句柄,第二个参数指定窗口的显示方式,如果加载应用程序提供了STARTUPINFO结构,则应用第一次调用ShowWindow函数时不理财该参数;否则,应用第一次调用ShowWindow函数时从WinMain函数的nCmdShow参数中获取实际值。在后续的函数调用中,nCmdShow的值可以说下表中的任意一个。
UpdateWindow(hWnd);
如果窗口更新的区域不为空,UpdateWindow函数通过发送一个WM_PAINT消息来更新指定窗口的客户区。函数绕过应用程序的消息队列,直接发送WM_PAINT消息给指定窗口的窗口过程,如果更新区域为空,则不发送消息。(表中风格宏都应为大写,为方便阅读,我使用小写,写程序是须使用大写)
显&& 示&&& 宏
SW_forceminimize
在WindowNT5.0中最小化窗口,即使拥有窗口的线程被挂起也会最小化。在从其他线程最小化窗口时才使用这个参数
隐藏窗口并激活其他窗口
SW_mazimize
最大化指定的窗口
SW_minimize
最小化指定的窗口。
SW_restore
激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志
在窗口原来的位置以原来的尺寸激活和显示窗口
SW_showdefault
依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给CreateProcess函数的。
SW_showmaximized
激活窗口并将其最大化
SW_showminimized
激活窗口并将其最小化
SW_showminnoactive
窗口最小化,并不激活窗口,但激活窗口仍然维持激活状态
以窗口原来的状态显示窗口,激活窗口仍然维持激活状态
SW_shownoactivate
以窗口最近一次的大小和状态显示窗口,激活窗口仍然维持激活状态
SW_shownormal
激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志
已发表评论数()
&&登&&&录&&
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见

我要回帖

更多关于 vb多窗体程序设计 的文章

 

随机推荐