Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2010, 19:29   #1
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию Картинка в TEdit

Всем привет.

Подскажите как можно вставить speedbutton или картинку в edit?

Мне нужно что-то наподобие как у webmoney keeper'a.
При запуске у него два поля, пароль и WMID, и после Tedit'a я так понял идет картинка.

Как сделать ума не приложу..

From artemavd: че, кнопка "Правка" тебе не знакома чтоли? Не в чате находишься, а на форуме.
Изображения
Тип файла: jpg 1.jpg (11.1 Кб, 159 просмотров)
Moonquake

Последний раз редактировалось artemavd; 07.09.2010 в 05:50.
phphel вне форума Ответить с цитированием
Старый 06.09.2010, 21:27   #2
dmitriegorovih
Ещё не
Форумчанин
 
Аватар для dmitriegorovih
 
Регистрация: 04.01.2010
Сообщений: 517
По умолчанию

Ну попробуйте перехватывать canvas edit(a) и на него отрисовывать картинку
вот как то так
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
canv:Tcanvas;
begin
canv:=Tcanvas.Create;
canv.Handle:= getdc(edit1.Handle);
canv.Draw(0,4,image1.Picture.Graphic);
end;
Тока есть один побочный эффект Мигание
Воображение важнее, чем знания. (Albert Einstein)
dmitriegorovih вне форума Ответить с цитированием
Старый 06.09.2010, 21:28   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Нет тут никого.

У TEdit делаем Border = 0, кладем его на панель, которую делаем узкой и заливаем её цветом TEdit, затем справа кладем Timage, в которую загружаем картику.

P.S. Подробней не скажу, t 39°С, сдохну скоро.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 06.09.2010, 21:38   #4
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

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

Просто тупо поставить картинку справа нужно, и сделать что бы они сливалась с фоном edit'a.

Прокатывает если сделать borderstyle - none, и beveledges - right:=false.. у tedita.

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

Alex Cones, неплохо придумано) сейчас попробую

http://forum.vingrad.ru/forum/topic-144722.html вот тут кстати уже сделали, единстенное, что там нельзя "нажать на" image, и рамка изменення..
Moonquake

Последний раз редактировалось artemavd; 07.09.2010 в 05:46.
phphel вне форума Ответить с цитированием
Старый 06.09.2010, 21:49   #5
dmitriegorovih
Ещё не
Форумчанин
 
Аватар для dmitriegorovih
 
Регистрация: 04.01.2010
Сообщений: 517
По умолчанию

Цитата:
что бы у нее были свойства OnClick
Код:
procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if x>=85 then begin
if x<=120 then begin
//++++++++++++++++++++++++++++++++++++++++++++

// Сюда пиши свой код каторый надо по он клик

//++++++++++++++++++++++++++++++++++++++++++++
end;
end;
end;
Воображение важнее, чем знания. (Albert Einstein)
dmitriegorovih вне форума Ответить с цитированием
Старый 06.09.2010, 21:57   #6
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

dmitriegorovih, грубо это как то)
твой вариант уж слишком много побочных эффектов имеет...

Да и не нужно мне что бы буквы залазили на картинку...

ее надо вставлять не в edit а в Image и image ставитб справа от edit'a.
Все бы хорошо, но не могу добиться эффекта "сливания" edit'a и image.

Cделал у edit'a такие свойства.

BorderStyle - None
BevelEdges - [beLeft,beTop,beBottom]
BevelKind - bkFlat

Все норм, но текст не посередине(
и рамка другая(

Может есть способ, нужно просто закрасить правый бордюр у tedit'a.

ЧТо бы сливалось с картинкой..дальше уже дело техники
Moonquake

Последний раз редактировалось artemavd; 07.09.2010 в 05:47.
phphel вне форума Ответить с цитированием
Старый 06.09.2010, 22:22   #7
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Как один из лучших вариантов - написать свой компонент, наследник от TEdit.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 06.09.2010, 22:39   #8
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Да уже все сделал)
Все отлично, только 2 побочных эффекта..

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

Вот выкладываю exe, кому не трудно потестите на наличие багов
Вложения
Тип файла: zip 1.zip (29.5 Кб, 20 просмотров)
Moonquake

Последний раз редактировалось artemavd; 07.09.2010 в 05:47.
phphel вне форума Ответить с цитированием
Старый 06.09.2010, 23:11   #9
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Эээ а тестить типа картинка...ну тогда все нормально...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 06.09.2010, 23:19   #10
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию


кто знает более красивые решения поделитесь.
Moonquake
phphel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по TEdit MasterofCDM Общие вопросы Delphi 8 16.07.2008 20:51
TEdit green Компоненты Delphi 17 16.03.2008 07:13
TEdit Xardas Общие вопросы Delphi 2 17.01.2008 02:04
TEdit, TEdit, TEdit Oleg Romanchuk Помощь студентам 2 20.08.2007 11:30