Форум: "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