Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Работа с контрольными переключателями

Rusa




Контрольный переключатель (check box) & 14514f519o #1087;рименяется для установки или сброса определенных опций. Этот элемент представляет собой небольшой прямоугольник, который может быть «отмечен» крестиком или «птичкой», и текст, описывающий контрольный переключатель или его функцию. Если внутри прямоугольника переключателя имеется метка, переключатель называется выбранным или установленным, а если метка отсутствует, переключатель называется невыбранным или сброшенным. Контроль­ный переключатель, как правило, является частью диалога и определяется при описании диалога в файле ресурсов. Для добавления контрольного переключателя в окно используется оператор CHECKBOX

CHECKBOX " ", ID, X, Width, Height[,

"строка" ID X Y - координаты верхнего левого угла переключателя, a Width Height задает стиль переключателя. Если для стиля не указывается конкретное значение, используется стиль по умолчанию. Это означает, что текст отображается справа от прямоугольника переключателя и пользователь может перейти к данному переключателю при помощи мыши или клавиши [Tab]. Работая с Windows, Вы, вероятно, заметили, что при воздействии на контрольные переключатели они изменяют свое состояние. С точки зрения программы это не всегда происходит автоматически.

CHECKBOX при описании ресурсов, Вы создаете ручной переключатель, изменением состояния которого должна управлять Ваша программа (как это сделать, будет показано ниже). Вы можете создать автоматический переключатель и возложить все функции по изменению состояния контрольного переключателя на Windows.

Автоматический контрольный переключатель создается с помощью оператора AUTOCHECKBOX, который имеет такой же вид, как и CHECKBOX. Windows сама управляет автоматическими контрольными переключателями, изме­няя их состояние каждый раз, когда пользователь воздействует на них.

#include "Mydialog.h"

#include <Windows.h>

MYMENU MENU

MYMENU ACCELERATORS

MYDB DIALOG 18, 18, 142, 92

CAPTION " "

STYLE DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU

Mydialog.h, который приведен ниже. Этот файл определяет также идентификаторы, которые используются в последующих примерах этой главы.

#define ID_DIALOG1 100

#define ID_STATUS 101



#define IDM_HELP 102

#define ID_CB1 103

#define ID_CB2 104

#define ID_CT1 105

#define ID_GT1 106

#define ID_RB1 107

#define ID_RB2 108

#define ID_GB1 200

define ID GB 201

Tab VM COMMAND wParam API SendDlgItemMessage BM SETCHECK SendDlgItemMessage

LONG SendDlgItemMessage(HWND hwnd, int ID, UINT msg,

WPARAM wParam LPARAM lParam

BM SETCHECK wParam lParam BM SETCHECK

BM SETCHECK

BM GETCHECK wParam lParam

#include <Windows.h>

#include <String.h>

#include <Stdio.h>

#include "Mydialog.h"

LRESULT CALLBACK WindowFunc(HWND,UINT,WPARAM,LPARAM);

BOOL CALLBACK DialogFunc(HWND,UINT,WPARAM,LPARAM);

char szWinName[]=" "; //



HINSTANCE hInst;

int status1=0;  //

int status2=0;  //

int WINAPI WinMain(HINSTANCE hThisInst,

HINSTANCE hPrevInst,

LPSTR lpszArgs,

int nWinMode)

}

return msg.wParam;

}

// Следующая функция вызывается операционной системой // Windows и получает в качестве параметров сообщения

LRESULT CALLBACK WindowFunc HWND hwnd

UINT message,

WPARAM wParam,

LPARAM lParam)

break;

case WM_DESTROY: //

PostQuitMessage(0);

break;

default:

// Все сообщения, не обрабатываемые в данной

// функции, направляются на обработку по

// умолчанию

return DefWindowProc(hwnd,message,

wParam,lParam);

}

return 0;

}

BOOL CALLBACK DialogFunc(HWND hdwnd,

UINT message,

WPARAM wParam,

LPARAM lParam)

}

return 0;

}

status status



Пример окна диалога с контрольными переключателями

Windows

case ID CB

// Пользователь выбрал этот переключатель

// Поэтому нужно изменить его состояние

if(!SendDlgItemMessage(hdwnd,ID_CB1,

BM_GETCHECK,0,0))

SendDlgItemMessage(hdwnd,ID_CB1,

BM_SETCHECK,1,0);

else //

SendDlgItemMessage(hdwnd,ID_CB1,

BM SETCHECK

return

BM SETCHECK WM INITDIALOG

case WM INITDIALOG

// установить состояние

// контрольных переключателей

SendDlgItemMessage hdwnd ID CB

BM_SETCHECK,status1,0);

SendDlgItemMessage(hdwnd,ID_CB2,

BM_SETCHECK,status2,0);

return 1;




Document Info


Accesari: 1069
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )