Список форумов Шадринский форум -> Программирование -> Delphi, Pascal, C, C# -> Помогите с button
Начать новую тему   Ответить на тему   вывод темы на печать

Помогите с button

Автор
Сообщение
Sportlain
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 19.08.2007
Сообщения: 136
Откуда: Россия

Статус: Offline
СообщениеДобавлено: 2009.11.17 10:46.43
Ответить с цитатой
Хочу красить кнопку buttun, но так и не мог найти где как его изменить в свойстве, помогите? заранее благодарен!
Посмотреть профиль Отправить личное сообщение ICQ Number
ArtFul
почти бухалтер


Пол: Пол:Муж.
Зарегистрирован: 14.04.2005
Сообщения: 5665


Статус: Offline
СообщениеДобавлено: 2009.11.17 10:47.36
Ответить с цитатой
Sportlain
в свойствах системы.
Посмотреть профиль Отправить личное сообщение ICQ Number
Sportlain
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 19.08.2007
Сообщения: 136
Откуда: Россия

Статус: Offline
СообщениеДобавлено: 2009.11.17 11:12.58
Ответить с цитатой
а где там?
Посмотреть профиль Отправить личное сообщение ICQ Number
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2009.11.17 11:59.46
Ответить с цитатой
а на чем программируете то?
_________________
http://asm.shadrinsk.net
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Sportlain
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 19.08.2007
Сообщения: 136
Откуда: Россия

Статус: Offline
СообщениеДобавлено: 2009.11.17 12:32.16
Ответить с цитатой
на С+
Посмотреть профиль Отправить личное сообщение ICQ Number
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2009.11.17 13:08.56
Ответить с цитатой
Sportlain
C++ я так понимаю.
Раз так, то вам придется использовать API возможности Windows.
Я с ходу вам не скажу как, так как давно этим не занимался.
Но я посмотрю и сегодня-завтра выложу решение.
Если же вы используете MFC - то здесь я вам помочь не смогу, так как не люблю эту библиотеку.

Добавлено спустя 9 минут 53 секунды:

Меня мучают смутные сомнения. Может быть вы пишите на C++.NET.
Тогда это совсем просто и действительно надо просто указать в свойствах объекта.


Последний раз редактировалось: Vladislav_133 (2009.11.17 13:15.50), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2009.11.17 13:12.50
Ответить с цитатой
MFC http://msdn.microsoft.com/ru-ru/library/tf9hd91s.aspx
WinAPI http://msdn.microsoft.com/en-us/library/bb775951(VS.85).aspx
.NET http://msdn.microsoft.com/ru-ru/library/system.windows.forms.button_properties.aspx
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2009.11.17 13:17.49
Ответить с цитатой
andy ice

там если с помощью API то стиля не достаточно. там надо обрабатывать специальное сообщение и тогда менять цвет кнопки.
_________________
http://asm.shadrinsk.net
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2009.11.17 13:29.54
Ответить с цитатой
Vladislav_133
Да, по ссылке как раз про кнопки, какие сообщения ловить и тп
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Sportlain
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 19.08.2007
Сообщения: 136
Откуда: Россия

Статус: Offline
СообщениеДобавлено: 2009.11.17 14:26.03
Ответить с цитатой
andy ice
спс большое, попробую по ссылкам, если что то не получиться, то выявлю свои проблемы
Vladislav_133
вроде на API
Посмотреть профиль Отправить личное сообщение ICQ Number
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2009.11.17 15:03.50
Ответить с цитатой
Sportlain писал(а):
вроде на API

кусочек кода сюда выложи, начало особенно, чтобы предметно говорить
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2009.11.17 15:24.09
Ответить с цитатой
Вот собственно

Цитата
The system sends a WM_CTLCOLORBTN message to a button's parent window before drawing a button. This message contains a handle to the button's device context and a handle to the child window. The parent window can use these handles to change the button's text and background colors. However, only owner-drawn buttons respond to the parent window processing the message.


по ссылке andy ice

Я постараюсь пример сегодня-завтра набросать.
_________________
http://asm.shadrinsk.net
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Sportlain
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 19.08.2007
Сообщения: 136
Откуда: Россия

Статус: Offline
СообщениеДобавлено: 2009.11.17 16:27.02
Ответить с цитатой
andy ice писал(а):
Sportlain писал(а):
вроде на API

кусочек кода сюда выложи, начало особенно, чтобы предметно говорить

Только завтра смогу, потому что сохранен не на моем компе
Посмотреть профиль Отправить личное сообщение ICQ Number
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2009.11.18 21:02.21
Ответить с цитатой
#include <windows.h>
#include "resource.h"
//кнопка в диалоговомокне должна иметь стиль Owner Draw
BOOL WINAPI dlg( HWND, UINT, WPARAM, LPARAM );
//кисти
HBRUSH br1;
//главная функция
int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrev, LPSTR lpCmd, int nShow )
 {  
    //IDD_DIALOG1 - идентификатор диалогового окна 
     DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1) , NULL, (DLGPROC)dlg);
     return( FALSE );
 }

//функция обработки сообщений диалогового окна
BOOL WINAPI dlg( HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam )
{
   
     switch( msg )
     {
          case WM_INITDIALOG:                            
         //это будет фон кнопки
            br1=CreateSolidBrush( RGB( 128, 128, 128 )); 
            return 1;
        case WM_CTLCOLORBTN:
         //идентификатор кнопки
           if( GetWindowLong( (HWND)lParam, GWL_ID ) == IDC_BUTTON1)  
           {                                     
            HDC hd = (HDC) wParam;
            //цвет фона для текста
               SetBkColor( (HDC)wParam, RGB( 100, 25, 255 ) );      
            //цвет текста
               SetTextColor( (HDC)wParam, RGB( 255, 0, 0 ) );       
            TextOut(hd,21,7,"Выход",5);
               return( (BOOL)br1);
           };
          case WM_COMMAND:
          //выход из программы
            if( wParam == IDC_BUTTON1)
            {
               DeleteObject(br1);
                  EndDialog( hDlg, 1);    
               return 1;
         }
         break;
    }      
    return 0;
}


Вот полностью рабочий пример с окрашиванием кнопки.
Используйте.
_________________
http://asm.shadrinsk.net
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Страница 1 из 1
Начать новую тему   Ответить на тему   вывод темы на печать
Показать сообщения:   
Список форумов Шадринский форум -> Программирование -> Delphi, Pascal, C, C# -> Помогите с button

 
Перейти: 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы