Как изменить значение дефолтного свойства объекта? - VB

Узнай цену своей работы

Формулировка задачи:

Требуется помощь. Суть такова: имеется код на Visual Basic 6.0, динамически добавляющий на форму RichTextBox. По умолчанию свойство RichTextBox' а Appearance равно 1 (rtfThreeD). Но для добавляемого RichTextBox' а необходимо, чтобы это свойство было 0 (rtfFlat). Если RichTextBox добавить на форму во время разработки, то у него можно изменить это свойство, однако в рун-тайме компилятор пишет, что свойство Appearance -

ReadOnly

. Как можно назначить другое дефолтное значение свойства для всех добавляемых контролов?

Решение задачи: «Как изменить значение дефолтного свойства объекта?»

textual
Листинг программы
  1. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  2. Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  3. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  4.  
  5. Private Const WS_EX_CLIENTEDGE As Long = &H200&
  6.  
  7. Private Const SWP_FRAMECHANGED As Long = &H20
  8. Private Const SWP_NOMOVE As Long = &H2
  9. Private Const SWP_NOSIZE As Long = &H1
  10. Private Const SWP_NOZORDER As Long = &H4
  11.  
  12. Private Const GWL_EXSTYLE As Long = &HFFFFFFEC
  13. Private Const GWL_WNDPROC As Long = &HFFFFFFFC
  14.  
  15. Private Sub cmdChange_Click()
  16.     Dim prev As Long, os As Long
  17.     os = GetWindowLong(rtb.hwnd, GWL_EXSTYLE) And WS_EX_CLIENTEDGE
  18.     prev = SetWindowLong(rtb.hwnd, GWL_WNDPROC, AddressOf WndProc)
  19.     SetWindowLong rtb.hwnd, GWL_EXSTYLE, Not os And WS_EX_CLIENTEDGE
  20.     SetWindowLong rtb.hwnd, GWL_WNDPROC, prev
  21.     SetWindowPos rtb.hwnd, 0, 0, 0, 0, 0, SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER
  22. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут