Из обсуждения новой версии…

dandr …форма для редактирования сообщения тоже неизменяема.

Infant_terrible ресайз окна редактирования отключен потому, что я пока не знаю, как грамотно отключать ресайз при достижении минимально допустимых размеров. при нынешних моих потугах прекращения ресайза клиент просто вылетает)) или начинает вести себя очень некрасиво.
так что терпите. или разворачивайте на полный экран — это можно))

dandr Разве это сложно? В соответствующем обработчике события задаёшь проверку размеров окна по сравнению с минимальными (тока их прикинуть надо). при преодалении этого порога форма принимает минимальный размер…
Или я чего-то не догоняю?

Infant_terrible dandr, ага, не догоняешь. в бейсике всё происходит следующим образом:
— ты тащишь границу окна, при каждом передвижении курсора мыши отрабатывает Form.Resize, происходит пересчет всех размеров всех контролов на форме. идёт и проверка на достижение минимальныо допустимых размеров окна
— когда минимальные размеры достигнуты, ты можешь переопределить размеры окна, НО не можешь выключить мышиный drag. получается, что ты тащишь границу окна, на пиксель вылазишь за минимум, автоматом окно восстанавливает размеры, а ты всё ещё тащишь, а оно восстанавливает — и получается такое дрожание границ идиотское. а если ты тащишь резко и за период опроса успеваешь протащить дальше чем на 1 пиксель, получается вообще некрасивая шляпа.
и как это перебороть, я пока не знаю. да и не сильно заморачивался если честно — были другие проблемы))

dandr Ну да, в дэльфи всё проще… Смотри:

procedure TForm1.FormResize(Sender: TObject);
begin
if Form1.Height < 300 Then Form1.Height := 300;
if Form1.Width < 500 Then Form1.Width := 500;
end;
end.

Всё. Этот код позволяет ресайзить окно более чем 500х300, если меньше, то в 500х300. Никакого мерцания и дрожания)))
Хочешь, скину на мыло. там ехе-шник крохотный.

Infant_terrible dandr, давай. в асю постучи, мыло скажу)

NikolaSoft вот это вы даёте, товарищ Штирлец… Что бы связаться с человекам, надо было сделать камент в блоге с просьбой что бы тот человек вышел на связь через ICQ и всё для того что бы дать ему своё электронный адрес…
А вы квесты не пишите? 😉

dandr Ща я ещё асю попрошу! 😉

NikolaSoft боюсь даже предположить…
Что бы узнать номер моей аси — реши эту систему уравнений с 3-мя неизвестными… Ответы могут быть только действительные числа! Умножь первое неизвестное на второе и вычти третье — Результат и будет корень квадратный из номера аси…

dandr Не поверишь! Есть вариант проще: профиль узера))))

NikolaSoft dandr, ну вот.. взял обломал такой квест =))

настроение: ЛОЛ!!!

Запись опубликована в рубрике Импортировано с ЛиРу с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *