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




Работа с селекторными кнопками

Rusa




В этом 12112r1724m разделе описываются селекторные кнопки radio buttons Windows поддерживает два типа селекторных кнопок - устанавливаемые вручную (ручные) и автом 12112r1724m атические. Ручные селекторные кнопки (как и ручные контрольные переключатели) требуют, чтобы все действия по управлению ими выполняла программа. Управление автом 12112r1724m атическими селекторными кнопками выполняет сама Windows. Поскольку управление селекторными кнопками более сложно, чем управ­ление контрольными переключателями, и поскольку автом 12112r1724m атические селекторные кноп­ки используются наиболее часто, рассмотрим только этот тип селекторных кнопок.

Как и другие элементы управления, селекторные кнопки описываются в файле ресурсов при определении диалога. Для создания автом 12112r1724m атических селекторных кно­пок используется оператор AUTORADIOBUTTON

AUTORADIOBUTTON "строка", ID X Y

Width Height

"строка" a ID X Y a Width Height Если этот параметр не указан, стиль устанавливается по умолчанию, то есть строка отображается справа от маленькой кнопки и пользователь может переключаться к селекторной кнопке с помощью клавиши [Tab



Как уже упоминалось, селекторные кнопки используются для представления группы опций, из которых можно выбрать только одну. Если в такой группе используются автом 12112r1724m атические селекторные кнопки, Windows управляет ими таким образом, чтобы в каждый момент времени была выбрана только одна из них. То есть, если пользователь выбирает одну из селекторных кнопок, ранее выбранная кнопка автом 12112r1724m атически очи­щается, и поэтом 12112r1724m у невозможно выбрать более одной селекторной кнопки одновременно.

Селекторная кнопка (в том 12112r1724m числе и автом 12112r1724m атическая) может быть установлена в нужное состояние программно, если направить ей сообщение BM SETCHECK API SendDlgItemMessage wParam при этом 12112r1724m опреде­ляет будущее состояние кнопки: если оно равно 1, то кнопка выбрана, если 0 - то нет. По умолчанию все кнопки изначально очищены.

SendDlgItemMessage Windows

BM GETCHECK. Если при этом 12112r1724m селекторная кнопка возвращает 1, она выбрана, а если 0 - нет.

Чтобы включить селекторные кнопки в пример программы, добавьте в файл ресурсов определения диалога следующие строки. Заметьте, что при этом 12112r1724m добавляется еще одна рамка группы для селекторных кнопок. Это, конечно, не обязательно, однако в диалогах Windows

GROUPBOX "Селекторы", ID GT 1, 53, 34



AUTORADIOBUTTON "Селектор 1", ID RB

AUTORADIOBUTTON "Селектор 2", ID RB

. Ниже приводится измененный текст программы предыдущего примера, в кото­ром добавлен фрагмент работы с двумя селекторными кнопками. Поскольку эти кнопки автом 12112r1724m атические, изменений в программе немного. Заметьте, что состояние селекторных кнопок сохраняется во внешних переменных rstatus rstatus

#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 cbstatus1=0; // Для хранения состояния

int cbstatus2=0; // контрольных переключателей

int rbstatus1=0; // Для хранения состояния

int rbstatus2=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

}






Document Info


Accesari: 1747
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 )