¡¶win32»ã±à¡·Ê±ÖÓÖ®C´úÂë
#include <Windows.h>
#include <math.h>
#include "resource.h"
#define PI 3.1415976/180
int dwCenterX,dwCenterY,dwRadius;
const TCHAR *szAppName=TEXT("Clock");
LRESULT CALLBACK ProcWinMain(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
void ShowTime(HWND hwnd,HDC hdc);
void CalcClockParam(HWND hwnd);
void DrawDot(HDC hdc,int dwDegreeInc,int dwSmallRadius);
int CalX(double dwNowDegreen,int dwR);
int CalY(double dwNowDegreen,int dwR);
void DrawLine(HDC hdc,double dwDegreen,int dwRadiusAdjust);
int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd )
{
WNDCLASS wc;
MSG msg;
HWND hwnd;
RtlZeroMemory(&wc,sizeof(WNDCLASS));
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc.hCursor=LoadCursor(hInstance,IDC_ARROW);
wc.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(ICO_MAIN));
wc.hInstance=hInstance;
wc.lpfnWndProc=ProcWinMain;
wc.lpszClassName=szAppName;
wc.lpszMenuName=NULL;
wc.style=0;
if(!RegisterClass(&wc))
{
MessageBox(NULL,TEXT("It's required for Windows NT!"),szAppName,MB_ICONERROR);
return 0;
}
hwnd=CreateWindowEx(WS_EX_CLIENTEDGE,
szAppName,szAppName,WS_OVERLAPPEDWINDOW,
100,100,250,270,
NULL,NULL,hInstance,NULL
);
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK ProcWinMain(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
switch (message)
{
case WM_TIMER:
InvalidateRect(hwnd,NULL,TRUE);
return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
ShowTime(hwnd,hdc);
EndPaint(hwnd,&ps);
return 0;
case WM_CREATE:
SetTimer(hwnd,ID_TIMER,1000,NULL);
return 0;
case WM_CLOSE:
KillTimer(hwnd,ID_TIMER);
DestroyWindow(hwnd);
PostQuitMessage(0);
retur
Ïà¹ØÎĵµ£º
Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ ......
MISRA--×÷Ϊ¹¤Òµ±ê×¼µÄC±à³Ì¹æ·¶(ǶÈëʽc¿ª·¢Õ߱ضÁ)
MISRA--×÷Ϊ¹¤Òµ±ê×¼µÄC±à³Ì¹æ·¶
MISRA (The Motor Industry Software Reliability Association
Æû³µ¹¤ÒµÈí¼þ¿É¿¿ÐÔÁª»á)
ÊÇλÓÚÓ¢¹úµÄÒ»¸ö¿ç¹úÆû³µ¹¤ÒµÐ»á£¬Æä³ÉÔ±°üÀ¨Á˴󲿷ÖÅ·ÃÀÆû³µÉú²úÉÌ¡£ÆäºËÐÄʹÃüÊÇΪÆû³µ¹¤ÒµÌṩ·þÎñºÍÐÖú£¬°ïÖ ......
ÔÚ×öwindowsÇý¶¯³ÌÐò¿ª·¢Ö®Ç°£¬Ê×ÏÈҪȷ¶¨¿ª·¢µÄÓïÑÔ¡£ÔÚ³£¼ûµÄ±à³ÌÓïÑÔÖУ¬ÎÒÃÇ¿ÉÒÔÑ¡ÔñC¡¢C++¡¢»ã±àÓïÑÔÉõÖÁDelphi¡£²»¹ýÓÉÓÚ
΢ÈíÌṩµÄDDK¿ª·¢»·¾³ËùÌṩµÄÎļþºÍÁ´½ÓÓõĿâÖ»Ö§³ÖCºÍC++ÓïÑÔ¡£ËùÒÔÒ»°ã¶¼²ÉÓÃC»òÕßC++¡£
ʹÓÃCÓïÑÔ£¬ÊDZȽÏÈÝÒ×ÉÏÊÖ£¬ÒòΪºÜ¶àÈ˶¼ÊÇ´ÓѧϰCÓïÑÔ¶øÑ§Ï°³ÌÐò¿ª·¢µÄ£¬¶øÔÚÇý¶¯¿ª·¢µÄ ......
ǰһƪÎÒÃǽéÉÜÁËÒ»¸ö¼òµ¥²»¹ýµÄhelloworld³ÌÐòÒý³öÏà¹ØÎÊÌâ¡£³Ã×Å»¹Ã»ÓÐÍüµôÄÇЩ˼¿¼·½Ê½µÄ¼ÇÒ䣬±¾Æª¼ÌÐøÑÓÐøÕâÖÖ˼ά·½Ê½µÄÀíÄ½éÉÜÒ»ÏÂCC++ÖеĻù±¾Êý¾ÝÀàÐÍ¡£Êý¾ÝÀàÐͲ»Çå³þµÄ»°ÔÚÒÔºóµÄ±à³ÌÖлáÓкܶàÃÕÍźÍÎÊÌâ¡£ÉõÖÁÒ»¸ö³ÌÐòµÄBUGÕÒ°ëÌìҲûÓÐÕÒ³öÀ´Ê±ÎªÊ²Ã´£¬½á¹û²Å·¢ÏÖÊǼӼõÒç³öÁË¡£¸ü¼ÓÑÏÖØµÄ»¹ÓÐдԽ½ç¡¢¶ÁÔ ......
ÔÚºÏ×÷¿ª·¢Ê±£¬C#ʱ³£ÐèÒªµ÷ÓÃC++DLL£¬µ±´«µÝ²ÎÊýʱʱ³£Óöµ½ÎÊÌ⣬ÓÈÆäÊÇ´«µÝºÍ·µ»Ø×Ö·û´®ÊÇ£¬ÏÖ×ܽáһϣ¬·ÖÏí¸ø´ó¼Ò£º
VC++ÖÐÖ÷Òª×Ö·û´®ÀàÐÍΪ£ºLPSTR,LPCSTR, LPCTSTR, string, CString, LPCWSTR, LPWSTRµÈ
µ«×ªÎªC#ÀàÐÍÈ´²»ÍêÈ«Ïàͬ¡£
Ö÷ÒªÓÐÈçϼ¸ÖÖת»»£º
½«stringתΪIntPtr£ºIntPtr System.Runtime.InteropServ ......