четверг, 31 января 2008 г.

Теперь на visual C++ 2005

Создаём новый проект, выбераем smart device\ Win32 smart device project
В Name пишем имя проекта, OK


Нажимаем Next

Еще раз

ставим галочку empty project и финиш


Вот что получилось, теперь нажмем провой кнопкой на левую панель
выберем add\new item...


выберем C++ File (.cpp)


введем имя и нажмем add
введем текст который идет ниже он полность повторяет паскалевский только чуть изменен




#include -=windows.h=-
#include -=commctrl.h=-
#include "resource.h"

HWND hWinMain;
HINSTANCE hInst;
HANDLE Thread1;

LRESULT CALLBACK MainWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
DWORD WINAPI WaveOut(LPVOID pParm);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine,int nCmdShow)
{
MSG msg;

hInst = GetModuleHandle(0);
hWinMain = FindWindow(NULL,(LPCWSTR)"Proj3");
if (hWinMain)
{
ShowWindow(hWinMain, SW_SHOW);
SetForegroundWindow(hWinMain);
ExitProcess(0);
}
hWinMain = CreateDialog(hInst,MAKEINTRESOURCE(IDD_DIALOG1),0,(DLGPROC)MainWndProc);
if (!hWinMain) ExitProcess(0);
ShowWindow(hWinMain,SW_SHOW);
UpdateWindow(hWinMain);
Thread1 = CreateThread(NULL,NULL,WaveOut,NULL,CREATE_SUSPENDED,NULL);

while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}

LRESULT CALLBACK MainWndProc(HWND hWnd, UINT wMsg,
WPARAM wParam, LPARAM lParam)
{
switch (wMsg) {
case WM_DESTROY:
EndDialog(hWnd, LOWORD(wParam));
break;
case WM_COMMAND:
int wmId = LOWORD(wParam);
int wmEvent = HIWORD(wParam);
switch (wmId)
{
case IDC_BUTTON1:
PostQuitMessage(0);
break;
case IDC_BUTTON2:
ResumeThread(Thread1);
break;
case IDC_BUTTON3:
SuspendThread(Thread1);
break;
}
break;

}
return DefWindowProc(hWnd, wMsg, wParam, lParam);
}

DWORD WINAPI WaveOut(LPVOID pParm)
{
wchar_t* s = new wchar_t[255];
while (true)
{
_ltow((long)GetTickCount(),s,10);
SendDlgItemMessageW(hWinMain,IDC_STATIC1,WM_SETTEXT,0,(LPARAM)s);
}
delete s;
return 0;
}


Тут все должно быть ясно, так как все взято с прошлого примера
Теперь нам надо добавить форму с кнопками статический текст

Снова нажимаем правой кнопкой мыши на левую панель и добавляем resource file(.rc) во вкладке resource, и в нем уже добавляем диалог.



перед нами форма с двумя кнопками, давайте их удалим, выделяем и нажимаем делет
в пустую форму заносим две кнопки и static text.


Далее жмем на форму и изменяем размер и настройки
Title menu стави false
Control = true
В настройках static изменяем ID
на IDC_STATIC1 и вытягиваем на всю ширину формы.

Забыл... добавим еще одну кнопку.
Ну вроде все пробуем, F5. 

Комментариев нет: