home *** CD-ROM | disk | FTP | other *** search
- #include <windows.h>
- #include "toolbar.h"
-
- static HWND tbhwnd1, tbhwnd2, cbhwnd;
-
- static TOOLBARICON tbar1[] = {
- { 2, 200, 6, 24, 24, 1, 0, NULL, "Kana_Undep", "Kana_Dep", "Kana_Grayed", "Kana_Pressed" },
- { 1, 230, 6, 24, 24, 0, 0, NULL, "Ascii_Undep", "Ascii_Dep", "Ascii_Grayed", "Ascii_Pressed" },
- { 9, 270, 6, 24, 24, 0, 1, "CVT_Disabled", "CVT_Undep", NULL, NULL, "CVT_Pressed" },
- { 3, 310, 6, 24, 24, -1, 3, "Bold_Disabled", "Bold_Undep", "Bold_Dep", "Bold_Grayed", "Bold_Pressed" },
- { 4, 340, 6, 24, 24, -1, 3, "Italics_Disabled", "Italics_Undep", "Italics_Dep", "Italics_Grayed", "Italics_Pressed" },
- { 5, 370, 6, 24, 24, 0, 3, "Und_Disabled", "Und_Undep", "Und_Dep", "Und_Grayed", "Und_Pressed" },
- { 6, 400, 6, 24, 24, 0, 3, "Rev_Disabled", "Rev_Undep", "Rev_Dep", "Rev_Grayed", "Rev_Pressed" }
- };
- static TOOLBARICON tbar2[] = {
- { 7, 200, 6, 24, 24, 1, 0, "LR_Disabled", "LR_Undep", "LR_Dep", "LR_Grayed", "LR_Pressed" },
- { 8, 230, 6, 24, 24, 0, 0, "UD_Disabled", "UD_Undep", "UD_Dep", "UD_Grayed", "UD_Pressed" }
- };
-
- long FAR PASCAL MainWinProc (HWND, WORD, WORD, LONG);
-
- int PASCAL WinMain (HANDLE hThisInstance, HANDLE hPrevInstance,
- LPSTR lpszCmdParam, int nCmdShow)
- {
- MSG msg;
- WNDCLASS wndclass;
- HWND hwnd;
- RECT rect;
-
-
- /* Register window classes */
-
- if (!hPrevInstance) {
- wndclass.style = CS_HREDRAW | CS_VREDRAW;
- wndclass.lpfnWndProc = MainWinProc;
- wndclass.cbClsExtra = 0;
- wndclass.cbWndExtra = 0;
- wndclass.hInstance = hThisInstance;
- wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
- wndclass.hbrBackground = COLOR_APPWORKSPACE + 1;
- wndclass.lpszMenuName = NULL;
- wndclass.lpszClassName = "Frame";
-
- RegisterClass(&wndclass);
- }
-
- hwnd = CreateWindow("Frame", "Toolbar Test",
- WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
- CW_USEDEFAULT, CW_USEDEFAULT,
- CW_USEDEFAULT, CW_USEDEFAULT,
- NULL, NULL, hThisInstance, NULL);
-
- ShowWindow(hwnd, nCmdShow);
- UpdateWindow(hwnd);
-
- GetClientRect(hwnd, &rect);
-
- tbhwnd1 = CreateToolbar (hwnd, 0, 0, rect.right, 36, 1, 42, 7, hThisInstance, tbar1, "X_Cursor");
- tbhwnd2 = CreateToolbar (hwnd, 0, 36, rect.right, 36, 1, 43, 2, hThisInstance, tbar2, "X_Cursor");
- cbhwnd = CreateWindow("combobox", "Hello", WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST,
- 8, 6, 160, 200, tbhwnd1, 127, hThisInstance, NULL);
-
-
- while (GetMessage(&msg, NULL, 0, 0)) {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
-
- return (msg.wParam);
- }
-
-
- long FAR PASCAL MainWinProc (HWND hwnd, WORD message, WORD wParam, LONG lParam)
- {
- int i, j;
- char buffer[256];
-
- /* Takes care of menu items */
-
- switch (message) {
-
- case WM_KEYDOWN:
- if (wParam == VK_F2) {
- i = SendMessage(tbhwnd1, BM_GETSTATE, 0, 1L);
- if (i) i = 1;
- SendMessage(tbhwnd1, BM_SETSTATE, !i, 1L);
- SendMessage(tbhwnd1, BM_SETSTATE, i, 2L);
- EnableToolbarButton(tbhwnd1, 3, !i);
- EnableToolbarButton(tbhwnd1, 4, !i);
- EnableToolbarButton(tbhwnd1, 6, i);
- break;
- }
- return (0);
-
- case WM_COMMAND:
- sprintf(buffer, "WM_COMMAND, Toolbar:%d, Button:%d, lParam%08lx (%s)", LOBYTE(wParam), HIBYTE(wParam),
- lParam, (HIWORD(lParam) == BN_CLICKED) ? "Clicked" : "Something else");
- SetWindowText(hwnd, buffer);
-
- j = HIBYTE(wParam);
-
- switch (j) {
- case 1: i = SendMessage(tbhwnd1, BM_GETSTATE, 0, (LONG) j);
- if (i) break;
- SendMessage(tbhwnd1, BM_SETSTATE, TRUE, 1L);
- SendMessage(tbhwnd1, BM_SETSTATE, FALSE, 2L);
- EnableToolbarButton(tbhwnd1, 3, TRUE);
- EnableToolbarButton(tbhwnd1, 4, TRUE);
- EnableToolbarButton(tbhwnd1, 6, FALSE);
- break;
- case 2: i = SendMessage(tbhwnd1, BM_GETSTATE, 0, (LONG) j);
- if (i) break;
- SendMessage(tbhwnd1, BM_SETSTATE, FALSE, 1L);
- SendMessage(tbhwnd1, BM_SETSTATE, TRUE, 2L);
- EnableToolbarButton(tbhwnd1, 3, FALSE);
- EnableToolbarButton(tbhwnd1, 4, FALSE);
- EnableToolbarButton(tbhwnd1, 6, TRUE);
- break;
- case 7:
- case 8:
- i = SendMessage(tbhwnd2, BM_GETSTATE, 0, (LONG) j);
- if (i) break;
- SendMessage(tbhwnd2, BM_SETSTATE, TRUE, (LONG) j);
- SendMessage(tbhwnd2, BM_SETSTATE, FALSE, (j == 7) ? 8L : 7L);
- break;
- }
- return (0);
-
- case WM_DESTROY:
- PostQuitMessage(0);
- return (0);
- }
-
- return (DefWindowProc(hwnd, message, wParam, lParam));
- }
-