Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.03;
Скачать: CL | DM;

Вниз

Как сделать сплиттер с линией в 1пикс.?   Найти похожие ветки 

 
Kolan ©   (2008-01-09 09:00) [0]

Здравствуйте,
 в гайдлайнах висты сказано, что сплиттер(видимая часть) должен быть толшиной в пиксель. Как такое сделать? Стандартный крутил, вертел — неполучаецца&#133


 
Kolan ©   (2008-01-09 13:30) [1]

Чет вы меня игнорируете :(

Например тут такой сепаратор:
http://www.rsdn.ru/


 
{RASkov} ©   (2008-01-09 15:28) [2]

> [1] Kolan ©   (09.01.08 13:30)
> Чет вы меня игнорируете :(

Это тебе так кажется)

> должен быть толшиной в пиксель. Как такое сделать? Стандартный
> крутил, вертел — неполучаецца…

Просто "смутно все это" (
В D7 нормально все.... фик знает.... Вот:
object Form1: TForm1
 Left = 192
 Top = 114
 Width = 870
 Height = 640
 Caption = "Form1"
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = "MS Sans Serif"
 Font.Style = []
 OldCreateOrder = False
 PixelsPerInch = 96
 TextHeight = 13
 object Splitter1: TSplitter
   Left = 185
   Top = 0
   Width = 1
   Height = 606
 end
 object Panel1: TPanel
   Left = 0
   Top = 0
   Width = 185
   Height = 606
   Align = alLeft
   Caption = "Panel1"
   TabOrder = 0
 end
 object Panel2: TPanel
   Left = 186
   Top = 0
   Width = 676
   Height = 606
   Align = alClient
   Caption = "Panel2"
   TabOrder = 1
 end
end

И при выполнении программы, сплитер именно 1 пикс...


 
Kolan ©   (2008-01-09 15:40) [3]

> И при выполнении программы, сплитер именно 1 пикс&#133

Нет толшина самого контрола — норамально, я хочу сделать его 5 пикс толшиной, но пользователю показывать линию в 1 пикс. Что-то типа свойства сплиттера Beaveled но только такое, чтобы рисовало просмто линию 1 пикс&#133


 
Kolan ©   (2008-01-09 15:50) [4]

Вот сам гайдлайн:
http://msdn2.microsoft.com/en-us/library/aa511281.aspx

ЗЫ
насилу нашел где он&#133


 
{RASkov} ©   (2008-01-09 17:21) [5]

> [3] Kolan ©   (09.01.08 15:40)

procedure TForm1.Splitter1Paint(Sender: TObject);
begin
 with Splitter1.Canvas do begin
  MoveTo(Splitter1.Width div 2, 0);
  LineTo(Splitter1.Width div 2, Splitter1.Height);
 end;
end;

Так не прокатит?


 
Kolan ©   (2008-01-09 17:27) [6]

> Так не прокатит?

Надо попробовать&#133


 
{RASkov} ©   (2008-01-09 17:41) [7]

> [6] Kolan ©   (09.01.08 17:27)
> Надо попробовать…

В качестве "рисования линии" можно попробывать DrawEdge
Я вот так на скорую руку набросал, вроде бы ничего:
procedure TForm1.Splitter1Paint(Sender: TObject);
var R: Trect;
begin
 with Splitter1, Splitter1.Canvas do begin
{   MoveTo(Width div 2, 0);
  LineTo(Width div 2, Height);}
  R:=ClipRect; Dec(R.Right, (Width-2) div 2);
  Inc(R.Top, 10); Dec(R.Bottom, 10);
  DrawEdge(Handle, R, EDGE_ETCHED, BF_RIGHT);
 end;
end;

При вертикальном расположении сплитера и его высоте более 30 и ширине 5
Понятно, что предоставленный код "идиотский", но я только чтоб посмотреть как это будет выглядеть :)
Все эти константы "методом тыка"....)


 
{RASkov} ©   (2008-01-09 17:44) [8]

....Да, и все остальные свойства сплитера по умолчанию, т.е. (Beaveled = False)



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

Текущий архив: 2008.02.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.02 c
15-1198911358
VAD*Anti Gopn!k
2007-12-29 09:55
2008.02.03
Электрогитара и компьютер.


15-1198487954
Kolan
2007-12-24 12:19
2008.02.03
А DBX есть в BDS 2006?


3-1190719104
oleg_v
2007-09-25 15:18
2008.02.03
DBF - как полностью удалить запись из таблицы


2-1200012250
Abcdef123
2008-01-11 03:44
2008.02.03
Пробелы знаний DOSa


2-1199346612
Farel
2008-01-03 10:50
2008.02.03
Проблема в excel