Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];

Вниз

Еще вопросик про кнопочки... :)))   Найти похожие ветки 

 
killer   (2003-06-03 18:36) [0]

Как создать кнопку в загаловке программы? Чтобы она в XP была тоже синенькой, а в 98-ом как в 98-ом?


 
killer   (2003-06-03 21:46) [1]

ПОМОГИТЕ ПЛИЗ!!!!!!!!


 
jonni   (2003-06-04 03:24) [2]

a gde eto zagolovok to est"??


 
Suntechnic   (2003-06-04 06:42) [3]

Как ты её рисуешь, так она и отображается. Рисуй стандартными средствами, тогда всё "синеньким" будет там где надо.

P.S. Какой вопрос- такой ответ. Ты быть хоть ради приличия написал каким образом ты её отображаешь.


 
killer   (2003-06-04 13:02) [4]

В том то и дело... Я не знаю как это сделать... Знаю что через API функции как-то.


 
clickmaker   (2003-06-04 13:31) [5]

Рисует еще одну кнопку закрытия на заголовке

type
TForm1 = class(TForm)
private
{ Private declarations }
procedure WMNCPaint(var Message: TMessage); message WM_NCPAINT;
public
{ Public declarations }
end;

...

procedure TForm1.WMNCPaint(var Message: TMessage);
var
DC: HDC;
R: TRect;
begin
Message.Result := DefWindowProc(Handle, Message.Msg, Message.WParam, Message.LParam);
DC := GetWindowDC(Handle);

GetWindowRect(Handle, R);
R.Top := 6;
R.Left := Width - 80;
R.Bottom := R.Top + 14;
R.Right := R.Left + 15;
DrawFrameControl(DC, R, DFC_CAPTION, DFCS_CAPTIONCLOSE);

ReleaseDC(Handle, DC);
Message.Result := 0;
end;


 
killer   (2003-06-04 13:38) [6]

а она будет в Windows98 как обычные ее кнопки и в XP тоже самое? а то когда в XP все кнопки такие, и вдруг какая-то тут из 98-го, как то не очень смотрица. Вот например GetRight5 там так и сделано... как я хотел бы сделать.


 
killer   (2003-06-04 21:22) [7]

КТО-НИБУДЬ!!!!


 
Николай Быков   (2003-06-04 22:00) [8]

1) Вам же ответили
2) Задавайте вопрос точнее
(что это за синенькие кнопочки в ХР в заголовке программы? У меня уже год ХР стоит и я ни разу их не замечал)


 
Yanis   (2003-06-04 22:39) [9]

>что это за синенькие кнопочки в ХР в заголовке программы? У меня уже год ХР стоит и я ни разу их не замечал

Прикольно.


 
killer   (2003-06-05 00:08) [10]

Ну в 98-ом кнопки просто квадратики такие с "_", "Квадратом" и "Х", а в XP они же закругленные такие и синенькие такие, а "Х" красненькая :))) Можно поменять конечно на другой цвет, но мне этот нравится :)))


 
Yanis   (2003-06-05 08:22) [11]

Блин, неужели трудно догадться. Снимаешь 3 скриншота кнопки, например X, затем в фотошопе стираешь и рисуешь на ней всё что хочешь, тоже в трёх состояниях. На форме лежит 3 Image, в каждую загружаешь по одному сстоянию кнопки: активное(когда мышь над ней), пасивное, нажатое.
Потом делаешь вот так:

{вот это в какой-нибудь обработчик}
var wDc:HDC;
begin
WDc := GetWindowDc(handle);
MyImage.PaintTo(WDc,5,7);

Потом отлавливаешь координаты мыши, типа:

var
R: TRect;{Это в конце концов будет прямоугольник твоей кнопки}
Cx,Cy: Integer;
XFrame, Yframe: Integer;
begin
WDc := GetWindowDc(handle);
Cx := GetSystemMetrics(SM_CXSize);
Cy := GetSystemMetrics(SM_CYSize);
xFrame := GetSystemMetrics(SM_CXFrame);
yFrame := GetSystemMetrics(SM_CYFrame);
R := Bounds(Width - xFrame - 4*Cx + 2, yFrame + 2, Cx - 2, Cy - 4);

После доработки код идеальным будет.
И все обработчики обрабатываешь отдельно.



p.s. Лишь бы руки были.


 
abcd   (2003-06-08 17:28) [12]

XP поддерживает Visual Styles, поэтому при смене стиля кнопка будет отображаться некрасиво.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
1-20509
aa5E1
2003-07-24 11:24
2003.08.07
Dll и картинки


3-20442
Relaxxx
2003-07-17 14:19
2003.08.07
Добавить Строку в конец таблицы???


1-20598
mmss
2003-07-24 14:25
2003.08.07
Как правильно прекратить поток?


1-20507
SergeySEM
2003-07-25 16:05
2003.08.07
TStreame


4-20853
Laxer
2003-06-06 14:18
2003.08.07
Программное создание папки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский