Конференция "Начинающим" » Изменить цвет TPanel при помощи API
 
  • Kenny1 (14.01.10 04:40) [0]
    Привет.

    Я только учусь. подскажите как изменить цвет TPanel на форме, при помощи WinAPI?

    Никак не получается пробовал SetDCBrushColor .

    Знаю что есть свойство Color, но я сейчас разбираюсь в API.

    Спасибо!
  • clickmaker © (14.01.10 11:12) [1]
    зачем? в чужом приложении, что-ли?
  • 0x00FF00 (14.01.10 12:29) [2]
    Для того, чтобы цвет, которым ты хочешь закрасить панель, остался при её перерисовке, тебе необходимо самому переопределить обработчик сообщений этой панели и внутри него вручную задать реакцию на WM_CTLCOLORSTATIC.
    http://msdn.microsoft.com/en-us/library/bb787524(VS.85).aspx
  • Kenny1 (14.01.10 16:35) [3]
    Я хочу научится закрашивать любой стандартный контрол. В своей программе не чужой.


    > 0x00FF00


    Ага я понял, а кнопку таким же методом можно закрашивать?
  • 0x00FF00 (14.01.10 17:57) [4]
    кнопка, увы, на такое не реагирует (не реагировала, всяко, во времена win98; далее windows была мною оставлена — поэтому насчёт других версий не знаю).
  • Игорь Шевченко © (14.01.10 18:07) [5]

    > Я хочу научится закрашивать любой стандартный контрол


    Delphi-йский контрол отличается от стандартного. TPanel не является стандартным контролом.

    Кстати, каким боком CTLCOLORSTATIC относится к панели ?
  • clickmaker © (14.01.10 18:48) [6]
    вот как раз кнопку так закрашивать можно
    ибо у нее есть CNCtlColorBtn
  • 0x00FF00 (14.01.10 18:59) [7]
    > Кстати, каким боком CTLCOLORSTATIC относится к панели ?

    Попытался протелепатировать вопрос, и пришёл к выводу, что если ОП использует винапи, то в качестве ТПанели использует окно класса STATIC, по привычке называя его ТПанелью.
  • 0x00FF00 (14.01.10 19:00) [8]
    ...причём, судя по его ответу, протелепатировал я верно =)
 
Конференция "Начинающим" » Изменить цвет TPanel при помощи API
Есть новые Нет новых   [134432   +20][b:0][p:0]