|
|
|||||||||||||||||||||||||||||
|
Создание "фальшивой" строки заголовка у формыИсточник: Accessboom
Сделал я форму без заголовка (тип границы - отсутствует), а вместо строки заголовка нарисовал элемент Label, изображающий строку заголовка, но уже моего цвета. Кстати, этот же элемент служит по совместительству и информационной панелью. А так как я могу легко менять в этом элементе шрифты и цвет, то получается намного эстетичнее, особенно, если цветовая тематика программы не сочетается со стандартной синей строкой заголовка. Понятно, что у пользователя возникает непроизвольное желание таскать форму по экрану за этот псевдо-заголовок, как и все стандартные формы Windows. Вот для возможности этого и предусмотрен следующий код: ' Объявляем пару функций API и пару констант Public Declare Sub ReleaseCapture Lib "user32" () Public Const WM_NCLBUTTONDOWN = &HA1 ' а это уже процедура перемещения указателя над элементом lblInfoTips Private Sub lblInfoTips_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim lngReturnValue As Long If Button = 1 Then End Sub Объявления функций API и констант лучше вынести в отдельный модуль - форм-то много может быть, нечего дублировать те же самые объявления в каждом модуле формы. Если все же решите оставить объявления в модуле формы, то все замените Public на Private. По верхнему краю формы по всей ширине растянут элемент Label более темного цвета, чем цвет формы, симулирующий строку заголовка формы. Ему дано имя lblInfoTips, и в его событие [Перемещение указателя] вбит код. Теперь пользователь может привычно ухватиться за панельку и перетащить форму, куда ему надо. Кстати, если вызывать это код для события Form_MouseMove, то можно таскать форму за любую поверхность (конечно, если на форме, где Вы хотите схватиться, не нарисован какой-нибудь элемент управления). Но я предпочитаю давать пользователю возможность привычно перетаскивать форму только за псевдо-заголовок, потому, что это стандарт (обычные формы Windows тоже ведь таскаются не за любое место, а именно за панель заголовка). Ссылки по теме
|
|