Ааааааа!! Сколько вопросов! У меня сейчас взорвется голова!
Но поехали потихоньку...
Цитата:
Сообщение от одинадцатый
а как проверить чему равен checked у checkbox?
|
Код:
case SendMessage(CheckBoxHandle, BM_GETCHECK, 0, 0) of
BST_CHECKED: ShowMessage('Флажок стоит');
BST_UNCHECKED: ShowMessage('Флажок снят');
else ShowMessage('Флажок затенен');
end;
Цитата:
Сообщение от одинадцатый
скажите где и как вы всю эту информацию ищите
|
В Windows SDK и в книжечках.
Цитата:
Сообщение от одинадцатый
можно же как-то имея адрес ехе файла узнать запущен ли он
|
Можно.
Раз,
два,
три и т.д. Перебираете все окна функцией EnumWindows и сравниваете для каждого путь к его файлу с тем путем, который имеется у вас. Если совпадают, то файл запущен.
Цитата:
Сообщение от одинадцатый
как выбрать в комбобокс один из элементов, и как прочесть тексто того который сейчас показан?
|
Код:
var
CurTxt: PChar;
CurSel: Integer;
ElementToSelect: string;
begin
ElementToSelect := 'qwerty'; // Впишите здесь текст элемента, который должен быть выбран
GetMem(CurTxt, 255);
try
CurSel := SendMessage(ComboBoxHandle, CB_GETCURSEL, 0, 0); // индекс текущего элемента
SendMessage(ComboBoxHandle, CB_GETLBTEXT, CurSel, Integer(CurTxt));
ShowMessage('Текущий элемент: ' + StrPas(CurTxt));
SendMessage(ComboBoxHandle, CB_SELECTSTRING, -1, Integer(@ElementToSelect[1]));
finally
FreeMem(CurTxt, 255);
end;
end;
Если это не понятно, то ComboBoxHandle — это дескриптор ComboBox'а.
Цитата:
Сообщение от одинадцатый
как узнать чему равен enabled и visible разных элементов, в частности лабел и едит?
|
Есть функции IsWindowEnabled, IsWindowVisible, а также EnableWindow. Они требуют только знания дескриптора того окна, которое вы проверяете, и возвращают значения True или False. Функция EnableWindow меняет состояние и возвращает True, если окно было первоначально disabled. По поводу Label. По-моему, это вообще не окно, не может принимать фокуса и не имеет дескриптора, поэтому сильно сомневаюсь, что Win32 API тут хороший помощник. Но я могу ошибаться.
Про остальное подумаю тоже потом. Устала =) И еще не очень поняла, про развернутость окна... Это что значит — если окно развернуто на весь экран, то сообщение WM_KEYDOWN принимается, а если не развернуто, то нет?
Цитата:
Сообщение от одинадцатый
Я так понимаю она расположена на каком-то меню быстрых кнопок которе по моему имеет класс ToolbarWindows32
|
Посмотрите самостоятельно, имеет ли это "меню" дочерние окна:
Код:
if GetWindow(HandleOfToolbar, GW_CHILD) <> 0 then
ShowMessage('Есть дети')
else ShowMessage('Нет детей');
HandleOfToolbar — дескриптор Toolbar'а с кнопками.
Если "дети" есть, то добраться до их дескрипторов можно с помощью функции EnumChildWindows. Хотя, вполне возможно, в Win32 API есть и специальные функции для работы с такими Toolbar.
Всё, не могу больше тыкать по кнопкам. Спокойной ночи.