Бывалый

Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 13.9.2006
Репутация: нет Всего: 1
|
Вот правильная программа с файлом ресурсов полностью. Большая благодарность Эрнесту модератору за помощь. Код | //Файл TrackBar.cpp
#include <windows.h> #include <windowsx.h> #include <commctrl.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
HINSTANCE hInstance; char iEdit[40]; int iPos;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static char szAppName[] = "My" ; HWND hwnd ; MSG msg ; WNDCLASSEX wndclass ;
wndclass.cbSize = sizeof (wndclass) ; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = (WNDPROC)WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = DLGWINDOWEXTRA ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (hInstance, szAppName) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) (COLOR_WINDOW) ; wndclass.lpszMenuName = NULL ; wndclass.lpszClassName = szAppName ; wndclass.hIconSm = LoadIcon (hInstance, szAppName) ;
RegisterClassEx (&wndclass) ;
hwnd = CreateDialog (hInstance, szAppName, 0, 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 iMsg, WPARAM wParam, LPARAM lParam) {
HWND hTrackWnd; HWND hProgrWnd; HWND hEditWnd; HWND hSpinWnd; int i; struct _NM_UPDOWN FAR * iParam; int iPosParam;
switch (iMsg) {
case WM_DESTROY : PostQuitMessage (0) ; break ;
case WM_CREATE :
InitCommonControls();
case WM_PAINT: hEditWnd= GetDlgItem(hwnd, 44); hSpinWnd= GetDlgItem(hwnd, 77); SendMessage(hSpinWnd, UDM_SETBUDDY, (LONG)hEditWnd, 0L); SendMessage(hSpinWnd, UDM_SETBASE, (WPARAM)10,0L); SendMessage(hSpinWnd, UDM_SETRANGE, 0, (LPARAM)MAKELONG(10, 0)); SendMessage(hSpinWnd, UDM_SETPOS, 0, (LPARAM)MAKELONG(5, 0)); hTrackWnd= GetDlgItem(hwnd, 88); SendMessage(hTrackWnd, TBM_SETRANGE, TRUE, MAKELONG(0,10)); SendMessage(hTrackWnd, TBM_SETPOS, TRUE, 5); for (i=1; i<10; i++) SendMessage(hTrackWnd, TBM_SETTIC, 0 , i); hProgrWnd= GetDlgItem(hwnd,99); SendMessage(hProgrWnd, PBM_SETRANGE, 0, MAKELPARAM(0,10)); SendMessage(hProgrWnd, PBM_SETSTEP, 1, 0); SendMessage(hProgrWnd, PBM_SETPOS, 5, 0); break;
case WM_NOTIFY: if (LOWORD(wParam) == 77) { hSpinWnd= GetDlgItem(hwnd, 77); iPos=LOWORD(SendMessage(hSpinWnd, UDM_GETPOS, 0, 0));
iParam=(LPNMUPDOWN)lParam; iPosParam=iParam->iDelta; if (iPosParam>0) { iPos=iPos+1; if (iPos==11) iPos=0; } else if (iPosParam<0) { iPos=iPos-1; if (iPos==-1) iPos=10; } hTrackWnd= GetDlgItem(hwnd, 88); hProgrWnd= GetDlgItem(hwnd, 99); SendMessage(hProgrWnd, PBM_SETPOS, iPos,0); SendMessage(hTrackWnd, TBM_SETPOS, TRUE, iPos); itoa(iPos,iEdit,10); SetDlgItemText(hwnd, 42, iEdit); } case WM_COMMAND: if (LOWORD (wParam) == IDOK) { EndDialog(hwnd,0); PostQuitMessage (0) ; return 0 ; } if (LOWORD (wParam) == 55)
{ break; } } return DefWindowProc (hwnd, iMsg, wParam, lParam) ; }
//Файл TrackBar.rc
//Microsoft Developer Studio generated resource script. // #include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 2 resource. // #define APSTUDIO_HIDDEN_SYMBOLS #include "windows.h" #undef APSTUDIO_HIDDEN_SYMBOLS
///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS
///////////////////////////////////////////////////////////////////////////// // Russian resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS) #ifdef _WIN32 LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT #pragma code_page(1251) #endif //_WIN32
///////////////////////////////////////////////////////////////////////////// // // Dialog //
MY DIALOG DISCARDABLE 32768, 0, 189, 79 STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "My" CLASS "My" FONT 8, "MS Sans Serif" BEGIN PUSHBUTTON "Ok",IDOK,127,10,50,14 CTEXT "Option",42,129,62,49,8,NOT WS_GROUP PUSHBUTTON "Show",55,125,33,50,14,NOT WS_TABSTOP CONTROL "Slider1",88,"msctls_trackbar32",TBS_BOTH | WS_TABSTOP, 11,23,100,15 CONTROL "Progress1",99,"msctls_progress32",WS_BORDER,21,52,80,14 EDITTEXT 44,36,4,40,14,ES_AUTOHSCROLL | ES_NUMBER CONTROL "Spin1",77,"msctls_updown32",UDS_WRAP | UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,77,4,11, 14 END
#ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // TEXTINCLUDE //
1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0" END
2 TEXTINCLUDE DISCARDABLE BEGIN "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" "#include ""windows.h""\r\n" "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n" "\0" END
3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0" END
#endif // APSTUDIO_INVOKED
#endif // Russian resources /////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 3 resource. //
///////////////////////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED
|
|