1. 用c語言編寫個帶彈出窗口的程序

#include <windows.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("Hello, bccn!"), TEXT ("HelloMsg"), 0) ;

return 0 ;
}

2. 用C語言。可以寫Windows窗體程序嗎

C語言寫操作系統都可以,何況是寫Window窗體程序,至於具體的開發環境,只要編譯器支持Win32的平台的特性,就能用C來寫Window窗體程序。

3. 用C語言編寫窗口界面程序,應該學習什麼

C語方下可以在文本模式下作出,也可以在圖形模式下畫出,用的是一些擴展庫,就是說不是C標准庫,下面給一個框架,不知道建不建議學,感覺過時了,看你自已的興趣了,感興趣下了功夫肯定能學好,因為它根本就不難,只不過用了些非標准庫的所謂高級函數而已

#include <process.h>
#include <dos.h>

#include <conio.h>
#define Key_DOWN 0x5100
#define Key_UP 0x4900
#define Key_ESC 0x011b
#define Key_ALT_F 0x2100
#define Key_ALT_X 0x2d00
#define Key_ENTER 0x1c0d

void box(int startx,int starty,int high,int width);

main()
{
int i,key,x,y,l;
char *menu[] = {"File","Edit","Run","Option","Help","Setup","Zoom","Menu"};
/* 主菜單各項 */
char *red[] = { "F","E","R","O","H","S","Z","M" }; /* 加上紅色熱鍵 */
char *f[] = {"Load file", "Save file", "Print", "Modify ", "Quit A1t_x"};
/* File 項的子菜單 */
char buf[16*10*2],buf1[16*2]; /* 定義保存文本的緩沖區 */

while(1)
{
textbackground(BLUE);
clrscr();
textmode(C80);
window(1,1,80,1);/* 定義顯示主菜單的窗口 */
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
gotoxy(5,1);
for(i=0,l=0;i<8;i++)
{
x=wherex(); /* 得到當前游標的坐標 */
y=wherey();
cprintf("%s",menu[i]); /* 顯示各菜單項 */
l=strlen(menu[i]); /* 得到菜單項的長度 */
gotoxy(x,y);
textcolor(RED);
cprintf("%s",red[i]); /* 在主菜單項各頭字元寫上紅字元 */
x=x+l+5;
gotoxy(x,y);
textcolor(BLACK); /* 為顯示下一個菜單項移動游標 */
}
gotoxy(5,1);

key=bioskey(0);
switch (key){
case Key_ALT_X:
exit(0); /* ALT_X 則退出 */
case Key_ALT_F:
{
textbackground(BLACK);
textcolor(WHITE);
gotoxy(5,1);
cprintf("%s",menu[0]); /* 加黑 File 項 */
gettext(5,2,20,12,buf); /* 保存窗口原來的文本 */
window(5,2,20,9);/* 設置作矩形框的窗口 */
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
box(1,1,7,16); /* 調用作框函數 */
for(i=2;i<7;i++) /* 顯示子菜單各項 */
{ gotoxy(2,i);
cprintf("%s",f[i-2]);
}
gettext(2,2,18,3,buf1); /*將下拉菜單的內容保存在 buf1*/
textbackground(BLACK);
textcolor(WHITE);
gotoxy(2,2);
cprintf("%s",f[0]);/*加黑下拉菜單的第一項 load file*/
gotoxy(2,2);
y=2;

while ((key=bioskey(0))!=Key_ALT_X) /* 等待選擇下拉菜單項*/
{
if ((key==Key_UP)||(key==Key_DOWN))
{
puttext(2,y,18,y+1,buf1); /* 恢復原先的項 */
if (key==Key_UP)
y=y==2?6:y-1;
else
y=y==6?2:y+1;
gettext(2,y,18,y+1,buf1);/*保存要壓上光條的子菜單項*/
textbackground(BLACK);
textcolor(WHITE);
gotoxy(2,y);
cprintf("%s",f[y-2]); /* 產生黑條壓在所選項上 */
gotoxy(2,y);
}
else
if (key==Key_ENTER)/* 若是回車鍵,判斷是哪一子菜單按的回
車,在此沒有相應的特殊處理*/
{
switch ( y-1 ){
case 1: /* 是子菜單項第一項:Load file */
break;
case 2: /* Save file */
break;
case 3: /* print */
break;
case 4: /* modify */
break;
case 5:
exit(0);
default:
break;
}
break;
}
else
if (key==Key_ESC)
break; /* 是 Esc 鍵,返回主菜單 */
}
if (key==Key_ALT_X) exit(0);
break;
}
}
}
}

void box(int startx,int starty,int high,int width) /* 畫矩形框函數 */
{ int i;
gotoxy(startx,starty);
putch(0xda); /* 畫┌ */
for (i=startx+1;i<width;i++) putch(0xc4); /* 畫— */
putch(0xbf); /* 畫┐ */
for( i=starty+1;i<high;i++)
{
gotoxy(startx,i);putch(0xb3); /* 畫│ */
gotoxy(width,i);putch(0xb3); /* 畫│ */
}
gotoxy(startx,high);
putch(0xc0); /* 畫└ */
for (i=startx+1;i<width;i++) putch(0xc4); /* 畫— */
putch(0xd9); /* 畫┘ */
return ;
}

這算是個例題吧 照著這樣的格式 自己琢磨吧 想看書就看 《Windows程序設計》吧
裡面應該有介紹窗口設計的知識吧
希望對你有用 給點分吧 謝謝

4. c語言如何編寫界面程序

C語方下可以在文本模式下作出,也可以在圖形模式下畫出,用的是一些擴展庫,就是說不是C標准庫,下面給一個框架,不知道建不建議學,感覺過時了,看你自已的興趣了,感興趣下了功夫肯定能學好,因為它根本就不難,只不過用了些非標准庫的所謂高級函數而已

#include <process.h>
#include <dos.h>

#include <conio.h>
#define Key_DOWN 0x5100
#define Key_UP 0x4900
#define Key_ESC 0x011b
#define Key_ALT_F 0x2100
#define Key_ALT_X 0x2d00
#define Key_ENTER 0x1c0d

void box(int startx,int starty,int high,int width);

main()
{
int i,key,x,y,l;
char *menu[] = ;
/* 主菜單各項 */
char *red[] = ; /* 加上紅色熱鍵 */
char *f[] = ;
/* File 項的子菜單 */
char buf[16*10*2],buf1[16*2]; /* 定義保存文本的緩沖區 */

while(1)
{
textbackground(BLUE);
clrscr();
textmode(C80);
window(1,1,80,1);/* 定義顯示主菜單的窗口 */
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
gotoxy(5,1);
for(i=0,l=0;i<8;i++)
{
x=wherex(); /* 得到當前游標的坐標 */
y=wherey();
cprintf("%s",menu[i]); /* 顯示各菜單項 */
l=strlen(menu[i]); /* 得到菜單項的長度 */
gotoxy(x,y);
textcolor(RED);
cprintf("%s",red[i]); /* 在主菜單項各頭字元寫上紅字元 */
x=x+l+5;
gotoxy(x,y);
textcolor(BLACK); /* 為顯示下一個菜單項移動游標 */
}
gotoxy(5,1);

key=bioskey(0);
switch (key){
case Key_ALT_X:
exit(0); /* ALT_X 則退出 */
case Key_ALT_F:
{
textbackground(BLACK);
textcolor(WHITE);
gotoxy(5,1);
cprintf("%s",menu[0]); /* 加黑 File 項 */
gettext(5,2,20,12,buf); /* 保存窗口原來的文本 */
window(5,2,20,9);/* 設置作矩形框的窗口 */
textbackground(LIGHTGRAY);
textcolor(BLACK);
clrscr();
box(1,1,7,16); /* 調用作框函數 */
for(i=2;i<7;i++) /* 顯示子菜單各項 */
{ gotoxy(2,i);
cprintf("%s",f[i-2]);
}
gettext(2,2,18,3,buf1); /*將下拉菜單的內容保存在 buf1*/
textbackground(BLACK);
textcolor(WHITE);
gotoxy(2,2);
cprintf("%s",f[0]);/*加黑下拉菜單的第一項 load file*/
gotoxy(2,2);
y=2;

while ((key=bioskey(0))!=Key_ALT_X) /* 等待選擇下拉菜單項*/
{
if ((key==Key_UP)||(key==Key_DOWN))
{
puttext(2,y,18,y+1,buf1); /* 恢復原先的項 */
if (key==Key_UP)
y=y==2?6:y-1;
else
y=y==6?2:y+1;
gettext(2,y,18,y+1,buf1);/*保存要壓上光條的子菜單項*/
textbackground(BLACK);
textcolor(WHITE);
gotoxy(2,y);
cprintf("%s",f[y-2]); /* 產生黑條壓在所選項上 */
gotoxy(2,y);
}
else
if (key==Key_ENTER)/* 若是回車鍵,判斷是哪一子菜單按的回
車,在此沒有相應的特殊處理*/
{
switch ( y-1 ){
case 1: /* 是子菜單項第一項:Load file */
break;
case 2: /* Save file */
break;
case 3: /* print */
break;
case 4: /* modify */
break;
case 5:
exit(0);
default:
break;
}
break;
}
else
if (key==Key_ESC)
break; /* 是 Esc 鍵,返回主菜單 */
}
if (key==Key_ALT_X) exit(0);
break;
}
}
}
}

void box(int startx,int starty,int high,int width) /* 畫矩形框函數 */
{ int i;
gotoxy(startx,starty);
putch(0xda); /* 畫┌ */
for (i=startx+1;i<width;i++) putch(0xc4); /* 畫— */
putch(0xbf); /* 畫┐ */
for( i=starty+1;i<high;i++)
{
gotoxy(startx,i);putch(0xb3); /* 畫│ */
gotoxy(width,i);putch(0xb3); /* 畫│ */
}
gotoxy(startx,high);
putch(0xc0); /* 畫└ */
for (i=startx+1;i<width;i++) putch(0xc4); /* 畫— */
putch(0xd9); /* 畫┘ */
return ;
}

5. 怎樣用C語言編寫出窗體程序

|#include <windows.h>

//Function prototype.
int WINAPI WinMain(HINSTANCE,HINSTANCE ,LPSTR ,int);
LRESULT CALLBACK MainWndProc(HWND ,UINT ,WPARAM,LPARAM);

InitApplication(HINSTANCE);
InitInstance(HINSTANCE,int);

LRESULT CALLBACK MainWndProc(HWND hwnd,UINT nMsg,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;

switch(nMsg)
{
case WM_COMMAND:
{
hdc = GetDC((HWND)lParam);
GetClientRect ((HWND)lParam, &rect) ;
DrawText(hdc,"HOHO",-1,&rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER);
ReleaseDC((HWND)lParam,hdc);
}
break;
case WM_PAINT:
{
hdc = BeginPaint(hwnd,&ps);
GetClientRect (hwnd, &rect) ;
DrawText(hdc,"Hello Word",-1,&rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER);
EndPaint(hwnd,&ps);
}
break;
//按鍵
case WM_KEYDOWN:

if(wParam == VK_ESCAPE)
SendMessage(hwnd,WM_CLOSE,0,0);

break;
case WM_CHAR:
switch(wParam)
{
case 'w':
MessageBox(hwnd,"UP","KeyBorad Input",MB_OK);
break;
case 's':
MessageBox(hwnd,"DOWN","KeyBorad Input",MB_OK);
break;
case 'a':
MessageBox(hwnd,"LEFT","KeyBorad Input",MB_OK);
break;
case 'd':
MessageBox(hwnd,"RIGHT","KeyBorad Input",MB_OK);
break;
}
break;

//關閉
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;

default:
return DefWindowProc(hwnd,nMsg,wParam,lParam);
}
return 0;
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInStance,
LPSTR lpCmdLine,int nCmdShow)
{
MSG msg;

if(!InitApplication(hInstance))
{
MessageBox(NULL,"InitApplication Failed","Error!",MB_ICONEXCLAMATION | MB_OK);
return FALSE;
}
if(!InitInstance(hInstance,nCmdShow)){
MessageBox(NULL,"InitInstance Failed","Error!",MB_ICONEXCLAMATION | MB_OK);
return FALSE;
}

while(GetMessage(&msg,(HWND) NULL,0,0)>0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

InitApplication(HINSTANCE hInstance)
{
WNDCLASS wc;

wc.style = CS_DBLCLKS;
wc.lpfnWndProc = MainWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = NULL;
wc.lpszClassName = "MainWClass";
return RegisterClass(&wc);
}

InitInstance(HINSTANCE hInstance,int nCmdShow){
HWND hwnd;
HWND hwndCloseButton;
hwnd = CreateWindow(
"MainWClass",
"Sample",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
(HWND)NULL,
(HMENU)NULL,
hInstance,
(LPVOID)NULL);

if(!hwnd)
return FALSE;

hwndCloseButton = CreateWindow(
"BUTTON",
"CLOSE",
WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
100,
100,
100,
80,
hwnd,
(HMENU)NULL,
hInstance,
(LPVOID)NULL);

if(!hwndCloseButton)
return FALSE;

ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
return TRUE;
}

6. C語言有什麼用,如何C用寫窗口程序

樓主您好~~
http://www.pconline.com.cn/pce/empolder/gj/vc/0607/820674.html 您看看這個 呵呵
其實 我在一年前也和您一樣想過這個問題 後來學了MFC才明白 其實黑框程序是在console application工程里運行的那種控制台程序程序。如果需要編寫界面,您應該學MFC啦 裝一個VC6.0對照孫鑫老師的視頻教程慢慢學就會拉 ~~~畫圖啊 編寫界面啊都很方便的 您試試

7. 用c語言怎麼創建一個窗口

通過調用windowsAPI來創建窗口:
#include<windows.h>
intmain()
{
MessageBox(NULL,"HelloWorld!","C圖形程序",MB_OK);
return0;
}
這個是最簡單的版了
至於權MFCQT什麼的代碼太多了

8. c語言編寫windows帶有菜單的窗口

可以用VC6.0也可以用VS.net.都行
用了,messagebox就是.
api函數主要看msdn

給你win32寫的窗口:
裡面用到一個playsound函數播放一個wav格式的生音

#include <windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT ("HelloWin") ;

HWND hwnd ;

MSG msg ;

WNDCLASwndclass ;

wndclass.style = CS_HREDRAW | CS_VREDRAW ;

wndclass.lpfnWndProc = WndProc ;

wndclass.cbClsExtra = 0 ;

wndclass.cbWndExtra = 0 ;

wndclass.hInstance = hInstance ;

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;

wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;

wndclass.hbrBackground= (HBRUSH) GetStockObject (WHITE_BRUSH) ;

wndclass.lpszMenuNam = NULL ;

wndclass.lpszClassName= szAppName ;

if (!RegisterClass (&wndclass))

{

MessageBox ( NULL, TEXT ("This program requires Windows NT!"),

szAppName, MB_ICONERROR) ;

return 0 ;

}

hwnd = CreateWindow( szAppName, // window class name

TEXT ("The Hello Program"), // window caption

WS_OVERLAPPEDWINDOW, // window style

CW_USEDEFAULT,// initial x position

CW_USEDEFAULT,// initial y position

CW_USEDEFAULT,// initial x size

CW_USEDEFAULT,// initial y size

NULL, // parent window handle

NULL, // window menu handle

hInstance, // program instance handle

NULL) ; // creation parameters

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_CREATE:

PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ;

return 0 ;

case WM_PAINT:

hdc = BeginPaint (hwnd, &ps) ;

GetClientRect (hwnd, &rect) ;

DrawText (hdc, TEXT ("Hello, Windows 98!"), -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) ;

}

9. 怎麼用c語言寫窗體程序

步驟:
1、注冊窗口類;
2、創建窗體;
3、消息循環;
4、編寫窗口消息處理函數。

代碼:


#include<windows.h>
#include<tchar.h>
LRESULTCALLBACKWindowProc(HWNDhwnd,UINTmsg,WPARAMwParam,LPARAMlParam);
intWINAPI_tWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPWSTRszCmdLine,intnCmdShow)
{
WNDCLASSwc;
wc.style=CS_HREDRAW|CS_VREDRAW;
wc.lpfnWndProc=WindowProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hInstance=hInstance;
wc.hIcon=NULL;
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground=(HBRUSH)COLOR_WINDOW;//(HBRUSH)GetStockObject();
wc.lpszMenuName=NULL;
wc.lpszClassName=_T("MyWindowClass");
if(!RegisterClass(&wc))
{
MessageBox(NULL,_T("無法注冊窗口類"),_T("錯誤"),MB_OK);
return0;
}
HWNDnewWindow=CreateWindow(
_T("MyWindowClass"),
_T("我的第一個winapi程序"),
WS_OVERLAPPEDWINDOW,
0,
0,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if(NULL==newWindow)
{
MessageBox(NULL,_T("無法創建窗體"),_T("錯誤"),MB_OK);
return0;
}
ShowWindow(newWindow,nCmdShow);
UpdateWindow(newWindow);
MSGmsg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
LRESULTCALLBACKWindowProc(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam)
{
switch(uMsg)
{
caseWM_DESTROY:
{
PostQuitMessage(0);
break;
}
default:
returnDefWindowProc(hwnd,uMsg,wParam,lParam);
}
return0;
}

就是一個只有標題欄、關閉按鈕、最小化按鈕、最大化/還原按鈕、顯示區域的窗體。

10. 怎樣用c語言寫界面

vc下可以用win32純c語言寫界面
(也叫sdk方式)
另外還有個lccwin32好象也可以 不過只是聽說而已 還沒用過 哈哈
另外如果你不想寫windows下的界面的話
去linux方面找找 應該也找的到的 哈哈
還有如果你想用Turbo C下寫個界面出來
這個就很麻煩了 涉及到很底層的東西 不過可以買本講DOS下圖形編程的書來看看 很古老的東東了 怕你找不到 哈哈