Вниз
Скачать: CL | DM;

Resize колонок в DBGrid е   Найти похожие ветки 

← →
Andriy Tysh ©   (2003-09-17 17:48) [0]

Какое сообщение посылается Винде, когда я делаю Ресайз колонок(напр. в DBGrid"е)?
Может кто-то код кинет или даст идею.
И возможно ли переловить это?


← →
Игорь Шевченко ©   (2003-09-17 18:20) [1]

"Винде" ничего не посылается

http://delphi.vitpc.com/helloworld/nogrid.htm


← →
Andriy Tysh ©   (2003-09-17 19:26) [2]

Спасибо, я уже использовал эту статтю, но Вы же здесь сами даете
совет запретить возможность изменять ширину.
А как переловить?


← →
NAlexey ©   (2003-09-18 09:54) [3]

Переловить можно на MouseMove состояние Grid - gsColMoving.


← →
Andriy Tysh ©   (2003-09-18 10:32) [4]


> NAlexey © (18.09.03 09:54) [3]

Спасибо попробую.
Но я кажется частично решил проблему:

procedure TfrmMakePlan.FGridMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var W, I, ColW, LeftC: Integer;
begin
inherited;
XM:=X;
//YM ловлю сообщением WM_LBUTTONDOWN (не верно ли написал)
//если нет- не страшно можно найти правильное
with TFriendGrid(FGrid) do //TFriendGrid=class(TCustomGrid)
begin
if [goFixedHorzLine, goHorzLine]*Options = [] then {есть ли линия-разделитель}
ColW := 0
else ColW := GridLineWidth; {её ширина}
LeftC:=Left; //левая видимая колонка
W:=0;
for I := LeftC to Pred(ColCount) do
begin
W:=W+ColWidths[I]+ColW;
//лежат ли мои координаты там, где возможно раздвижение колонок
if (W<=X+5)and(W>=X-5)and(YM>0)and(YM<RowHeights[0]) then ShowMessage("=");
end;
end;
end;


Кто найдет ошибку или модернизирует- большое спасибо!



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.032 c
4-42283
Alek Aaz
2003-09-09 17:06
2003.11.13
Универсальный запуск программы?


1-41638
Support
2003-10-26 01:01
2003.11.13
Как из чужой проги извлеч инфу


3-40896
dk
2003-10-25 11:16
2003.11.13
Есть ли альтернатива lookup полям?


8-41764
Ig
2003-07-03 21:55
2003.11.13
Как сделать скин для проги


4-42260
Andriy Tysh
2003-09-13 13:14
2003.11.13
WM_HSCROLL?




   Наверх