社区
界面
帖子详情
用C++设计的一个控制台程序如何改成windows窗口程序呢?
cdws7187
2008-09-10 10:38:07
我学了一点windows程序设计,但是感觉只知道调用系统函数来实现系统功能不知道如何实现用C++写控制台程序时自己编写的功能,我就是想知道能不能把自己用C++编写的控制台程序转换成windows窗口程序?程序的功能是一样的,只不过多了个窗口实现了消息循环,我的意思大概就是想让程序看起来炫一点但是程序实现的功能依然是靠自己用编C++编写的,图形界面只是为了好看~
...全文
1513
10
打赏
收藏
用C++设计的一个控制台程序如何改成windows窗口程序呢?
我学了一点windows程序设计,但是感觉只知道调用系统函数来实现系统功能不知道如何实现用C++写控制台程序时自己编写的功能,我就是想知道能不能把自己用C++编写的控制台程序转换成windows窗口程序?程序的功能是一样的,只不过多了个窗口实现了消息循环,我的意思大概就是想让程序看起来炫一点但是程序实现的功能依然是靠自己用编C++编写的,图形界面只是为了好看~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenyu2202863
2008-09-11
打赏
举报
回复
楼上大哥,mfc是用C++的思想来用API的,API才是主要
11000000
2008-09-11
打赏
举报
回复
还是mfc比较好。api要慢慢上手才行。
laojifuli
2008-09-11
打赏
举报
回复
wndcls.lpszClassName="sunxin2006";
这句写错了,"sunxin2006"要替换成"大家好才是真的好"
laojifuli
2008-09-11
打赏
举报
回复
首先建立cpp文件,然后如下代码
#include <windows.h>
#include <stdio.h>
(//窗口过程函数声明
LRESULT CALLBACK WinSunProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
(//入口函数如同main()
int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)
{//设计窗口类,对结构体副值
WNDCLASS wndcls;
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WinSunProc;
wndcls.lpszClassName="sunxin2006";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW | CS_VREDRAW;
//注册窗口类
RegisterClass(&wndcls);
//创建窗口
HWND hwnd;
hwnd=CreateWindow("大家好才是真的好","大家都很好",WS_OVERLAPPEDWINDOW,
0,0,600,400,NULL,NULL,hInstance,NULL);
//显示窗口
ShowWindow(hwnd,SW_SHOWNORMAL);
//更新窗口
UpdateWindow(hwnd);
//自己制作消息循环(鼠标,键盘输出的消息)
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
//收到消息后分情况处理消息(鼠标,键盘输出的消息)
LRESULT CALLBACK WinSunProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
switch(uMsg)
{
case WM_CHAR://输出按下的字符
char szChar[20];
sprintf(szChar,"char code is %d",wParam);
MessageBox(hwnd,szChar,"char",0);
break;
case WM_LBUTTONDOWN://输出你好
MessageBox(hwnd,"mouse clicked","message",0);
HDC hdc;
hdc=GetDC(hwnd);
TextOut(hdc,0,50,"你好",strlen("你好"));
//ReleaseDC(hwnd,hdc);
break;
case WM_CLOSE://退出程序
if(IDYES==MessageBox(hwnd,"真的结束?","message",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}
paerxiushi
2008-09-11
打赏
举报
回复
以下这段代码可以不显示控制台,很是邪门:
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"wmainCRTStartup\"")
这样一来,项目变成Win32工程了
另外,可以使用FreeConsole将控制台释放掉,只不过程序开始运行时会闪烁.
aj3423
2008-09-10
打赏
举报
回复
图形界面程序和console没什么不同,你只要把console的代码复制下,新建一个win32 helloworld,然后把代码复制进去就ok,加一个richedit用来输出信息
ke2007lin
2008-09-10
打赏
举报
回复
API
biaozai06
2008-09-10
打赏
举报
回复
MFC!
VsirSoft
2008-09-10
打赏
举报
回复
控制台程序-》对话框程序 可以用richedit来代替你的输出。
其他如果想美化窗口,是一些界面制作的技巧。可以自绘。自绘其实就是把一些图贴到对话框上。简单点就是这样。也可以借助一些换肤工具,比如skin++的1.0破解版 都是加入文件几行代码就可以换肤的
vc1000
2008-09-10
打赏
举报
回复
你要做界面的话可以用WIN32API来做,程序的功能完全是可以复制过去的
bat转exe,批处理转成无黑框执行EXE文件
然而,批处理文件的执行通常会弹出
一个
命令提示符
窗口
(黑框),这对于某些应用场景可能不太理想,比如作为服务后台运行或作为用户友好的应用
程序
。因此,将.bat文件转换为.exe文件可以解决这个问题,让
程序
以无黑框...
C-Free 5.0 专业版官方中文破解版
利用本软件,使用者可以轻松地编辑、编译、连接、运行、调试C/
C++
程序
。 安装之前请解压,否则安装会出错! 1. 支持多编译器,可以配置添加其他编译器; 目前支持的编译器类型: (1) MinGW 2.95/3.x/4.x/5.0 (2) ...
cfree C-Free 5 破解汉化版
利用本软件,使用者可以轻松地编辑、编译、连接、运行、调试C/
C++
程序
。C-Free 4 较之前的版本有巨大改进,主要有以下特性:(主
窗口
) 1. 支持多编译器,可以配置添加其他编译器;(0) 目前支持的编译器类型: (1)...
新版Android开发教程.rar
Android 是
一个
专门针对移动设备的软件集,它包括
一个
操作系统,中间件和一些重要的应用
程序
。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...
console
控制台
程序
,转winMain
窗口
程序
这样,
控制台
程序
就转为
窗口
程序
了。将此处的_CONSOLE去掉。
改成
WinMain。
界面
15,978
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章