软件都是黑色的了,根本不能打开
答案:2 悬赏:50
解决时间 2021-02-06 17:14
- 提问者网友:梧桐不渝
- 2021-02-05 16:48
软件都是黑色的了,根本不能打开
最佳答案
- 二级知识专家网友:心痛成瘾
- 2021-02-05 18:02
那就不要用啊
全部回答
- 1楼网友:风格单纯
- 2021-02-05 19:23
要想写出有界面的windows程序,需要用到win api实现(望采纳!)
如下代码就是创建一个最基本的窗口:
//调用api函数创建窗口
//示例:
#include
lresult callback wndproc(hwnd, uint, wparam, lparam);//窗口过程函数
int winapi winmain(hinstance hinstance, hinstance hprevinstance, pstr szcmdline, int icmdshow)
{
static tchar szappname[] = text("mywindows");//定义窗口类名
hwnd hwnd;//窗口句柄
msg msg; //
wndclass wndclass; //窗口类
wndclass.style = cs_hredraw | cs_vredraw;//指定窗口类型,各种“类风格”(详见下方↓)可以使用按位或操作符组合起来
wndclass.lpfnwndproc = wndproc;//指定窗口过程(必须是回调函数)
wndclass.cbclsextra = 0;//预留的额外空间,一般为 0
wndclass.cbwndextra = 0;//预留的额外空间,一般为 0
wndclass.hinstance = hinstance;//应用程序的实例句柄
wndclass.hicon = loadicon(null, idi_application);//为所有基于该窗口类的窗口设定一个图标
wndclass.hcursor = loadcursor(null, idc_arrow);//为所有基于该窗口类的窗口设定一个鼠标指针
wndclass.hbrbackground = (hbrush)getstockobject(white_brush);//指定窗口背景色
wndclass.lpszmenuname = null;//指定窗口菜单
wndclass.lpszclassname = szappname;//指定窗口类名
if (!registerclass(&wndclass))//注册窗口
{
messagebox(null, text("这个程序需要在 windows nt 才能执行!"), szappname, mb_iconerror);
return 0;
}
hwnd = createwindow(szappname, //创建窗口
text("windows"),
ws_overlappedwindow,
cw_usedefault,
cw_usedefault,
cw_usedefault,
cw_usedefault,
null,
null,
hinstance,
null);
showwindow(hwnd, icmdshow); //显示窗口
updatewindow(hwnd); //更新窗口,重绘
while (getmessage(&msg, null, 0, 0)) //获得消息
{
translatemessage(&msg);//解释消息
dispatchmessage(&msg);//分配消息
}
return msg.wparam;
}
lresult callback wndproc(hwnd hwnd, uint message, wparam wparam, lparam lparam)//回调函数
{
hdc hdc;
paintstruct ps;
rect rect;
switch (message)
{
case wm_paint:
hdc = beginpaint(hwnd, &ps);//获取设备环境句柄
getclientrect(hwnd, &rect);//获取客户区矩形
drawtext(hdc, text("第一个c语言窗口程序!"), -1, &rect,
dt_singleline | dt_center | dt_vcenter);//在客户区中心绘制文本
endpaint(hwnd, &ps);//结束绘制
return 0;
case wm_destroy://得到结束程序消息
postquitmessage(0);//结束程序
return 0;
}
return defwindowproc(hwnd, message, wparam, lparam);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯