007wan |
Отправлено: 09 Апреля, 2019 - 13:52:44
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Zireael , ОГо! спасибо!!!!!!!!!
(Добавление)
Что бы идеально было. Можно немного увеличить ширину строки, что бы она была как высота строки, когда опускаешь в самый низ.
sendmessage(LB_SETHORIZONTALEXTENT, SIZE[0]+10, 0, formatiw(list));
(Добавление)
А можно ли как-то убрать нижний отступ от ползунка?
(Добавление)
И еще по поводу того, что можно ли отдельные строчки сделать не кликабельными? или неактивными?
(Добавление)
Не работает. Анализировал проблему и вот что...
CODE:
hdc=GetDC(list);
messagebox(format(hdc));//0
А в вашем коде, у меня цифры и много...
(Добавление)
007wan пишет: hdc=GetDC(list); Ай чукча))))) у меня название списка другое))) всё робит) |
|
|
Zireael |
Отправлено: 12 Апреля, 2019 - 02:14:43
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: что бы программа смогла открыться только один раз и при повторном открытии на панели задач начинает мигать и показывать, что типа она открыта
Придётся постоянно проверять все окна в системе. Проще при запуске программы найти все окна с таким же именем/классом, если нашлось больше одной, то закрыться. FindWindowEx в помощь, на форуме есть примеры.
Цитата: начинает мигать
CODE:external(INT, "FlashWindow", "FlashWindow", "User32.dll" );
win w=window("Кибор");
loop()
{
FlashWindow(formatwi(w), 1);
sleep(300);
}
Цитата: В каких случаях прменяются SendMessage и sendmesage розовая?
Это одно и тоже.
Цитата: Я пробовал: такого рода:
int a=SendMessage(Object_Combobox1, CB_GETITEMDATA, 0);
SendMessage принимает 4 параметра, а не 3.
Цитата: Или вот это CB_GETLBTEXT
Цитата: #define CB_GETLBTEXT 328
char c[999];
sendmessage(CB_GETLBTEXT, 0, address(#c[0]), formatiw(Object_Combobox1));
// format(#c[0]); // в массиве будет текст первой строки |
|
|
007wan |
Отправлено: 12 Апреля, 2019 - 16:17:00
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Вау, ребята, если создать кнопку(только с шириной 25) и поставить WS_DLGFRAME, то кнопка будет классно выделятся, например, всего кнопок 1-3, а кнопка запустить будет именно с этим стилем и так лучше смотрится.
CODE:#define WS_DLGFRAME 4194304
(Добавление)
007wan пишет: #define WS_DLGFRAME 4194304
Я этот стиль сделал для списка(Listbox) и получилось даже не плохо, но хотелось бы иметь надпись вверху(заголовок). Как это сделать, не создавая еще один контрол - статик.
(Добавление)
Zireael пишет: int a=SendMessage(Object_Combobox1, CB_GETITEMDATA, 0);
SendMessage принимает 4 параметра, а не 3.
А какой 4 параметр?
-------------
в киборе есть диалоги и там в showdialog есть такой параметр. отвечающий за то, что диалога поверъ всех окон или нет 0или 1. и что бы установить этот параметр нужно пепезапускать порграмму или уничтожать диалог. а с помощью экстернал это можно сделать тоже самое?
(Добавление)
Цитата: Сообщение CB_GETITEMDATA
Приложение отправляет сообщение CB_GETITEMDATA в поле со списком, чтобы получить предоставленное приложением значение, связанное с указанным элементом в поле со списком.
Параметры
wParam
Нулевой индекс элемента.
lParam
Этот параметр не используется.
Так как ты не используешься, то его можно не писать?
|
|
|
Zireael |
Отправлено: 13 Апреля, 2019 - 01:25:15
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: что диалога поверъ всех окон
а с помощью экстернал это можно сделать тоже самое?
SetWindowPos, параметр HWND_TOPMOST.
Цитата: lParam
Этот параметр не используется.
Так как ты не используешься, то его можно не писать?
Если какой-то параметр не используется, то писать 0. |
|
|
007wan |
Отправлено: 13 Апреля, 2019 - 09:46:58
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Zireael , CODE:SetWindowPos(formatwi(MainWindow), HWND_TOPMOST); ?
(Добавление)
Цитата:
(Добавление)
CODE:#define HWND_TOPMOST -1 |
|
|
007wan |
Отправлено: 13 Апреля, 2019 - 11:07:56
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Zireael , Извиняюсь, привычка не писать то, что не нужно)) Теперь работает.
CODE:SetWindowPos(formatwi(MainWindow), HWND_TOPMOST, Display_Width/2-450, Display_Height/2-400, 700, 400, 0); |
|
|
|