COMBOBOX 111,40,10,60,90,CBS_DROPDOWN
CHECKBOX "hi all, i am checkbox", 122, 3,10,35,14
Плагин для Total Commander на Delphi
Пишу плагин для Тотала, уже все практически закончил, но он получается такого размера на Делфи... :(
В плагине есть только одно окно настроек, без него вроде и не обойдешься. Хочу обойтись без VCL, но как это лучше сделать не знаю, использовать готовые библиотеки или самому что-то состряпать. Наверное даже без поддержки тем ВинХП можно. Посоветуйте что нибудь.
Просто сожми исполняемый файл и все дела. :)
Плагин для Тотал Командера это DLL как его сжать?!
меня больше интересут как обойтись без VCL с минимальными затратами на переделку плагина
Цитата: o_serg
меня больше интересут как обойтись без VCL с минимальными затратами на переделку плагина
С минимальными затратами - никак. С разумными - KOL. Безумие - переписать вручную на API.
Можно сжать тем же UPX-ом, но на деле это приведёт к дополнительной трате ресурсов по сравнению с несжатой DLL во время выполнения.
Мне нужно только одно окно с двумя ComboBox и CheckBox можно даже без поддержки Вин ХП тем, это на АПИ совсем сложно что-ли?
в случае с API лучше задействовать функцию DialogBoxParam - создает диалог из ресурсов, ну есстественно окно и CheckBox с ComboBox'ами опишешь в файле ресурсов, потом res-файл получишь, подключишь, а потом обрабатывать сообщения нужные будешь. вот посмотри
kosfiz, спасибо, принцип понял, но в примере нет CheckBox и ComboBox. Где можо почитать как их описать в RC файле?
Код:
111, 122 это id элементов. если подробней то надо смотреть msdn.
1. как в ComboBox добавить значения.
2. как прочитать результат ввода после нажатия скажем кнопки Ок? или лучше обрабатывать сообщения от этих контролов?
1. добавить значения можно так:
Код:
SendDlgItemMessage(hWnd,111,CB_ADDSTRING,0,integer(pchar('first string')));
2. с помощью кнопки ok будет так:
Код:
st:array[0..255] of char;
....
GetDlgItemText(hwnd,111,st,sizeof(st));//111 id combobox'а
....
GetDlgItemText(hwnd,111,st,sizeof(st));//111 id combobox'а
код я думаю знаешь куда вставить.