c++标题栏 关闭按钮

c++标题栏 关闭按钮,第1张

需要Create Button,然后移动到指定的位置,通过MoveWindow。图标通过DrawIcon就可以。

有时候,我们需要包装窗口的标题栏,同时又不想让窗口的非客户区全部由自己来控制刷新,比如边框,菜单。

从WM_NCPAINT中的参数wParam可以得到需要刷新的区域:

hrgn = (HRGN) wParam // handle of update region

因此,可以重载WndProc函数,对此区域中剔除标题栏所占的区域,代码如下:

case WM_NCPAINT:

{

HRGN hrgnSrc // handle to Src WindowDC update region

HRGN hRgnCaption // handle to Combine region

HRGN hRgnNew // handle to New WindowDC update region

hrgnSrc = (HRGN) Msg.WParam

TRect *winrect =new TRect()

GetWindowRect(ParentForm->Handle,winrect)

TRect rc

rc= TRect(winrect->left,winrect->top,winrect->right,winrect->top+ GetSystemMetrics(SM_CYCAPTION)+3)

hRgnCaption = CreateRectRgnIndirect(&rc)

hRgnNew = CreateRectRgnIndirect(&rc)

if ((WORD)hrgnSrc > 1 && !RectInRegion(hrgnSrc, &rc))

{

DeleteObject(hRgnNew )

DeleteObject(hRgnCaption)

DeleteObject(hrgnSrc)

delete winrect

break

}

if ((WORD)hrgnSrc>1)

{

CombineRgn(hRgnNew ,hrgnSrc,hRgnCaption,RGN_DIFF)

}

else

{

HRGN hRgnAll = ::CreateRectRgnIndirect(winrect)

CombineRgn(hRgnNew, hRgnAll, hRgnCaption, RGN_DIFF)

DeleteObject(hRgnAll)

}

Msg.Result = DefWindowProc( ParentForm->Handle, Msg.Msg,(int)hRgnNew, Msg.LParam)

DrawCaption()// custom draw caption

DeleteObject(hRgnNew )

DeleteObject(hRgnCaption)

DeleteObject(hrgnSrc)

delete winrect

return

}

可以通过C语言调用系统命令实现关机

1、C语言可以通过system函数实现调用系统命令(shell 命令)。

system函数声明于stdlib.h, 形式为

int system(const char *cmd)

功能为执行cmd中的shell指令。

2、在windows中,关机命令为shutdown. 具体说明如图:

更多信息,可以命令行下输入shutdown /?查看。

3、从命令说明上可以得知,shutdown /s 即可实现关机效果。

4、参考代码:

#include <stdlib.h>

int main()

{

    system("shutdown /s")//调用关机命令。

    while(1)

}

5、注意事项:

该命令仅用于windows,如果要移植到其它 *** 作系统,则需要适配目标系统的关机命令,如Linux的halt或shutdown -h。

ctrl+W关闭当前窗口。也可以使用Alt+F4。

快捷键,又叫快速键或热键,指通过某些特定的按键、按键顺序或按键组合来完成一个 *** 作,很多快捷键往往与如Ctrl键、Shift键、Alt键、Fn键以及Windows平台下的Windows键和Mac机上的Meta键等配合使用。

快捷键使用注意:

整体移动物体要使用对象模式,会带着物质坐标一起动。若采用点或边模式,全选所有点和边移动可以移动物体,但不会移动坐标系。

找到如下路径Maya\Mayaxxxx\resources\l10n,会出现“zh_CN”或“en_US”的文件夹,里面的就是语言包,"zh_CN"改成"en_US",再次打开软件就是英文的,"en_US"就改成"zh_CN",再次打开软件就是中文的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11556317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存