IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Вопросы по WinApi...
Snake_B
сообщение 6.05.2008 0:31
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской

Репутация: -  0  +


"Вопросы по WinApi..."

Ковыряюсь во всяких справочниках... чего то ни фига не получается...
Если кто может подскажите, как сделать или где поглядеть пример...

1. CreateWindow ( 'STATIC', text', WS_CHILD or WS_VISIBLE, 30, 8, 500, 80, handleWnd, 0, hInstance, nil );
* как задать ему цвет
* сделать вертикальный скролл
* изменить шрифт (размер, цвет и сам шрифт)

2. Загрузить и показать рисунок (bmp и jpg)...

3. Изменить цвет border color...

4. обработка нажатия кнопки...

лучше всего пример... blush.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 7.05.2008 18:08
Сообщение #2


Гость






1.
Цитата
Можно ли вызвать стандартный progress bar

Можно:
  // Создаем прогрессбар
myProgress := CreateWindow('msctls_progress32', '', WS_CHILD or WS_VISIBLE,
250, 20, 300, 30, handleWnd, 0, HInstance, nil);
// устанавливаем границы
SendMessage(myProgress, PBM_SETRANGE, 0, MAKELPARAM(0, 100));


Вот так посылаем прогресс-бару сообщения:
...
case LoWord(WParam) of
BTN_ID: // По нажатию кнопки перед закрытием, отобразим Progress...
begin
for i := 0 to 100 do begin
Sleep(50);
SendMessage(myProgress, PBM_SETPOS, i, 0);
end;
PostQuitMessage(0);
Result := 0;
end;
...


Необходимые константы:
Const
PBM_SETRANGE = WM_USER + 1;
PBM_SETPOS = WM_USER + 2;
PBM_STEPIT = WM_USER + 5;



2.
Цитата
Ну всё также, загрузка/показ рисунка... ни где так примера и не нашел...
Вот тебе пример:

var 
StaticWnd: HWND;
ImLogo: HBITMAP;
...
// Создаем статический контрол
StaticWnd := CreateWindow('static', 'Test',
WS_VISIBLE or WS_CHILD or SS_BITMAP or SS_CENTERIMAGE,
100, 100, 500, 300, handleWnd, 0, HInstance, nil);
// Грузим в битмап содержимое BMP-файла
ImLogo := LoadImage(0, 'real_map.bmp', IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE or LR_LOADMAP3DCOLORS or LR_LOADTRANSPARENT);
// И посылаем стат. контролу сообщение об установке изображения
SendMessage(StaticWnd, STM_SETIMAGE, IMAGE_BITMAP, ImLogo);



Насчет неизменяемого EDIT-а сейчас гляну...

Добавлено через 9 мин.
P.S. А, ну так не надо делать ES_READONLY, достаточно написать ничего не делающую оконную функцию:

var
OldEditProc: Pointer;

function myEditProc(Window: HWND; AMessage: UINT;
WParam: WPARAM; LParam: LPARAM): INT_PTR; stdcall;

begin
Case AMessage of
WM_CHAR: Result:=0;
WM_LBUTTONDOWN: Result:=0;
WM_RBUTTONDOWN: Result:=0;
else Result:=CallWindowProc(OldEditProc, Window, AMessage, WParam, LParam);
end;
end;

// и после создания EDIT-а подменить стандартную оконную функцию новой:

... // Здесь создаем myStatic

// и подменяем функцию окна
OldEditProc:=Pointer(SetWindowLong(myStatic,GWL_WNDPROC,LongInt(@myEditProc)));

 К началу страницы 
+ Ответить 

Сообщений в этой теме
Snake_B   Вопросы по WinApi...   6.05.2008 0:31
andriano   Если ты указал один из стандартных классов, то цве...   6.05.2008 6:47
Snake_B   А можно всё таки как-нибудь на примере? Теоретиче...   6.05.2008 10:16
volvo   Идея не самая удачная - учиться на том, что в прин...   6.05.2008 13:03
Snake_B   Идея не самая удачная - учиться на том, что в при...   6.05.2008 15:15
volvo   Легко... Но давай начнем с того, что тебе надо под...   6.05.2008 16:12
Snake_B   Легко... Но давай начнем с того, что тебе надо по...   7.05.2008 17:14
volvo   1. Можно: // Создаем прогрессбар myProgress :...   7.05.2008 18:08
Snake_B   Можно: // Создаем прогрессбар myProgress := C...   7.05.2008 22:46
volvo   Хочешь - вот проект полностью - у меня все работа...   7.05.2008 23:17
Snake_B   Хочешь - вот проект полностью - у меня все работа...   8.05.2008 0:05
volvo   Что значит "Ничего"? Программа запустила...   8.05.2008 0:22
Snake_B   Что значит "Ничего"? Программа запустил...   8.05.2008 0:31
andriano   А ты уверен что тебе нужно их именно уничтожать? С...   8.05.2008 6:10
Snake_B   А ты уверен что тебе нужно их именно уничтожать? ...   8.05.2008 8:52
volvo   Хочешь, я присоединю исходник, проверишь его, боль...   8.05.2008 10:08
Snake_B   Хочешь, я присоединю исходник, проверишь его, бол...   8.05.2008 14:47
andriano   А по прогресс бару... ну и ладно... без него сдел...   8.05.2008 18:32
Snake_B   Вообще-то все, что нужно, можно сделать ручками. ...   11.05.2008 22:55
volvo   var ListB1: HWND; i, len: integer; buffer:...   11.05.2008 23:11
Snake_B   Вот EXE-шник: (только там теперь по нажатию на к...   12.05.2008 0:48
volvo   :blink: Естественно... Окно получает сообщение WM...   12.05.2008 8:54
Snake_B   :blink: Естественно... Окно получает сообщение WM...   12.05.2008 11:31
volvo   У меня вот так прекрасно отработало: // Внимание ...   16.05.2008 12:28
Snake_B   У меня вот так прекрасно отработало... Спасибо,...   16.05.2008 21:57
volvo   Вообще-то когда работаешь с PChar, надо быть остор...   16.05.2008 22:41
Snake_B   Новый вопросик... и мне кажется он где-то близко к...   24.05.2008 10:53
Snake_B   Новый вопросик... и мне кажется он где-то близко ...   25.07.2008 3:12


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 13.07.2025 16:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"