Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оформление диалоговых окон, ... 
:(
    Опции темы
Plamenk
Дата 8.1.2004, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 258
Регистрация: 18.2.2003

Репутация: нет
Всего: 3



Всем привет!!!

Возникла совершено нелепая проблема:
Во многих Windows - окнах, кнопки "Отмена", "Далее >" и т.д., отделяются линией, а как мне сделать такую же линию у себя??
(Таким же элементом в выпадающем меню разделяются пункты меню).

Заранее Всем СПАСИБО!!!
PM MAIL   Вверх
-Mikle-
Дата 8.1.2004, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 8
Всего: 59



Plamenk, у ВБ есть статический элемент такой, Line называется. Поставь две такие линии рядышком, через один пиксел, вернюю покрась в темный системный цвет, а нижний - в светлый.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Black_Star
Дата 8.1.2004, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 9.9.2003
Где: Minsk

Репутация: 4
Всего: 4



Есть такое.

А для выпадающего в редакторе меню в поле Caption поставь "-" и дай имя любое, это будет разделительная полоса... thumbs-up.gif

Это сообщение отредактировал(а) Black_Star - 8.1.2004, 20:36
PM ICQ   Вверх
Plamenk
Дата 9.1.2004, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 258
Регистрация: 18.2.2003

Репутация: нет
Всего: 3



Спасибо -Mikle-.

В VB все получилось, но проблема в том что такой элемент нужен в VBA, а там линии нет. Может есть какой-нибудь альтернативный вариант.

Пока сделал свой элемент управления состоящий из двух линий, но это, по-моему, изврат!
PM MAIL   Вверх
Plamenk
Дата 9.1.2004, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 258
Регистрация: 18.2.2003

Репутация: нет
Всего: 3



Все вопрос снят!!!

Сделал из двух Label.
PM MAIL   Вверх
cardinal
Дата 9.1.2004, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Ну вот пока сочинял, ты уже из Label`ов все слепил smile.gif. Короче я бы наверно по такому принципу сделал:
Код
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long

Private Const PS_SOLID = 0

Private Type POINTAPI
       x As Long
       y As Long
End Type

Private Sub CommandButton1_Click()
Dim point As POINTAPI
Dim hwnd As Long
Dim hdc As Long
Dim hPen As Long
Dim hPenOld As Long
hwnd = FindWindow(vbNullString, "UserForm1")
hdc = GetDC(hwnd)
hPen = CreatePen(PS_SOLID, 2, RGB(220, 220, 220))
hPenOld = SelectObject(hdc, hPen)

MoveToEx hdc, 90, 30, point
LineTo hdc, 90, 80
MoveToEx hdc, 30, 80, point
LineTo hdc, 90, 80
MoveToEx hdc, 94, 80, point
LineTo hdc, 150, 80

DeleteObject hPen
hPen = CreatePen(PS_SOLID, 2, RGB(0, 0, 0))
SelectObject hdc, hPen

MoveToEx hdc, 92, 30, point
LineTo hdc, 92, 82
MoveToEx hdc, 30, 82, point
LineTo hdc, 150, 82

SelectObject lhDC, hPenOld
DeleteObject hPen
ReleaseDC hwnd, hdc
End Sub

Все тут конечно не проще, но зато без всяких там элементов-компонентов и работает в VB и VBA. Скоро засуну это в FAQ - надо же его наполнять smile.gif.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.