Операционная система Windows 95 для программиста



         

Исходные тексты приложения List Application


Все функции приложения List Application определены в файле list.c (листинг 3.1).

Листинг 3.1. Файл list\list.c

#define STRICT #include <windows.h> #include <windowsx.h> #include <commctrl.h> #include "resource.h" #include "afxres.h" #include "list.h"

typedef struct tagAPPLINFO { char szAppName[40]; char szIconName[20]; UINT iCost; } APPLINFO;

// ----------------------------------------------------- // Глобальные переменные // ----------------------------------------------------- APPLINFO rgApplInfo[]= { {"Generic", "appicon.ico ", 5}, {"Book", "book1.ico ", 2}, {"Driver List", "drvlist.ico ", 22}, {"MCI CD Player", "mcicdpl.ico ", 345}, {"MCI String Player", "mcistrvw.ico", 54}, {"MCI Wave Player", "mciwaver.ico", 32}, {"MCI Window Demo", "mciwnd.ico ", 0}, {"Sound Play", "sndplay.ico ", 0}, {"Wave Play", "wave.ico ", 4} }; HINSTANCE hInst; char szAppName[] = "ListApp"; char szAppTitle[] = "List Application"; HWND hwndList;

// ----------------------------------------------------- // Функция WinMain // ----------------------------------------------------- int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wc; HWND hWnd; MSG msg;

hInst = hInstance;

// Преверяем, не было ли это приложение запущено ранее hWnd = FindWindow(szAppName, NULL); if(hWnd) { if(IsIconic(hWnd)) ShowWindow(hWnd, SW_RESTORE); SetForegroundWindow(hWnd); return FALSE; }

// Регистрируем класс окна memset(&wc, 0, sizeof(wc)); wc.cbSize = sizeof(WNDCLASSEX); wc.hIconSm = LoadImage(hInst, MAKEINTRESOURCE(IDI_APPICONSM), IMAGE_ICON, 16, 16, 0); wc.style = 0; wc.lpfnWndProc = (WNDPROC)WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInst; wc.hIcon = LoadImage(hInst, MAKEINTRESOURCE(IDI_APPICON), IMAGE_ICON, 32, 32, 0); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1); wc.lpszMenuName = MAKEINTRESOURCE(IDR_APPMENU); wc.lpszClassName = szAppName; if(!RegisterClassEx(&wc)) if(!RegisterClass((LPWNDCLASS)&wc.style)) return FALSE;




Содержание  Назад  Вперед