Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CheckBox и RadioButton, как вставить собственную графику 
:(
    Опции темы
artem1987
Дата 17.3.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



мне нужны экземпляры классов типа TCheckBox и TRadioButton но такие чтоб вид можно было менять (например нарисованый мною),
как реализовать?
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
MetalFan
Дата 17.3.2007, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

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



используй TImage(или наследника от него) и рисуй, что хошь.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Sunvas
Дата 17.3.2007, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


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

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



MetalFan, можно и без наследников обойтись:
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
function NewWndProc(Handle:hWND; Msg,wParam,LParam:LOngInt):LongInt;stdcall;
var
  Form1: TForm1;
  WProc:Pointer;
  canh:tcanvas;
implementation

{$R *.dfm}
function NewWndProc(Handle:hWND; Msg,wParam,LParam:LOngInt):LongInt;
begin
Result:=CallWindowProc(WProc,Handle,Msg,wParam,lParam);
if (Msg=WM_PAINT)or(Msg=512)or(Msg=132) then
        begin
         if form1.CheckBox1.Checked then begin
          canh.Pen.Color:=clred;
          canh.Brush.Color:=clred;
          canh.Rectangle(2,4,11,13);
          end;
        end;
 form1.Caption:=inttostr(msg);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
 canh:=tcanvas.Create;
        canh.Handle:=getwindowdc(checkbox1.handle);
WProc:=Pointer(SetWindowLong(checkbox1.Handle,GWL_WNDPROC,Integer(@NewWndProc)));
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
        releasedc(checkbox1.handle,canh.Handle);
        canh.Free;
end;

end.

 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
ivan219
Дата 17.3.2007, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

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



Есть два вареант 1 это перерисовать уже имеющийся что и посоветовал тебе Sunvas другой более солжный это нарисовать свой.
Посмотри исходники на эти компоненты полезная вещь!!!!!
Сам сейчас пытаюсь создавать свои компоненты smile не лёхкое это дело smile 
PM MAIL ICQ   Вверх
Alexeyt
Дата 17.3.2007, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 15.9.2006
Где: около Москвы

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



Можно не мучаться и взять AlphaControls. Там все есть.
Есть, вроде, free версия.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


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

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


 




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


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

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