PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Помогите в раскраске новичку


Помогите в раскраске новичку

Сообщений 1 страница 3 из 3

1

Уважаемые, подскажите пожалуйста как покрасить фон OptionGadget? Для некоторых гаджетов есть такая команда SetGadgetColor, которая позволяет раскрашивать фон, текст и т.д. Но эта команда не работает с этим гаджетом. Можно было бы по верх поблемного гаджета положить прямоугольник с нужным цветом, но он тогда закрасит и кружок в котором производится выбор опции. Как поступить? И еще вопрос. Где в тексте кода программы должна располагаться процедура? Обычно подпрограммы могут располагаться в любом месте, а вот процедуры похоже нет?

Отредактировано vladh (25.01.2017 12:41:16)

0

2

vladh написал(а):

как покрасить фон OptionGadget

Код:
Color = RGB(63, 191, 191) 
BRUSH = CreateSolidBrush_(Color) 

Procedure MainWin_CB(hWnd, Msg, wParam, lParam) 
  Shared BRUSH, Color 
  Protected Res = #PB_ProcessPureBasicEvents 
  
  If Msg = #WM_CTLCOLORSTATIC 
    SetBkMode_(wParam, Color) 
    ProcedureReturn BRUSH 
  EndIf 
  
  ProcedureReturn Res 
EndProcedure 

If OpenWindow(0, 0, 0, 140, 110, "OptionGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
  
  OptionGadget(0, 30, 20, 60, 20, "Option 1")
  OptionGadget(1, 30, 45, 60, 20, "Option 2")
  OptionGadget(2, 30, 70, 60, 20, "Option 3")
  SetGadgetState(1, 1)
    
  SetWindowColor(0, Color) 
  SetWindowCallback(@MainWin_CB(), 0) 
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf
vladh написал(а):

Где в тексте кода программы должна располагаться процедура?

Перед ее вызовом. Если по той или иной причине это не получается, то следует перед вызовом добавить Declare с описанием процедуры.

0

3

Спасибо.

Пётр написал(а):

Перед ее вызовом. Если по той или иной причине это не получается, то следует перед вызовом добавить Declare с описанием процедуры.

Не совсем понял. Вы говорите, что при определении процедуры в любом месте программы(даже и после её вызова в коде) надо это делать с командой Declare?
Пару раз тыкнул и понял как это делать. Спасибо еще раз.

Отредактировано vladh (25.01.2017 14:25:47)

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Помогите в раскраске новичку