Forum Replies Created
-
AuthorPosts
-
BEST1306Participant
Спасибо всем за, помощь. Я сделал ка писал выше.
BEST1306ParticipantQUOTE (Torbins @ Apr 9 2010, 03:11 PM) <{POST_SNAPBACK}>Ответьте на все вопросы и нажмите кнопку “Проверить”. Будут подсчитаны правильные ответы, а также к каждому вопросу появятся пояснения.
Да я это сделал, но я не пойму как мне надо изменить программу. Мне, что код из процедуры кнопки написать в OnPaint, а в процедуре кнопки вызывать OnPaint.BEST1306ParticipantQUOTE (Torbins @ Apr 8 2010, 08:19 PM) <{POST_SNAPBACK}>Первый вопрос ваш: http://www.delphikingdom.com/quintana/quintana.asp?ItemID=15BEST1306ParticipantQUOTE (Support @ Apr 8 2010, 08:33 AM) <{POST_SNAPBACK}>Спасибо. Не залилось на форум потому что у всех стоит ограничение 10Мб, иначе не хватит места на хосте.Насчет демки, там есть одна проблема, которая будет наблюдаться и без скинов тоже.
Увидеть можно если закрыть чем-то форму, она не перерисует картинку после этого.
Чтобы форма знала что рисовать если нужно обновить содержимое, нужно использовать событие OnPaint. Сами разберетесь с этим или помощь нужна?Еще одним вариантом является рисование на графическом компоненте, лежащем на форме, например TImage… Он будет сам себя перерисовывать.
PS. Для перерисовки формы лучше использовать sSkinProvider1.SkinData.Invalidate, этой одной процедуры достаточно.
UpdateSkin загружает скин с диска или из памяти, обновляет его и потом перерисовывает все формы с анимацией, если она включена.
Про событие OnPaint я немного не понял, если не трудно объясните.
Вариант с TImage у меня был, только у меня почему на секунду появлялось всё нарисованное , и потом на всю площадь послдня картинка.
Если бы черз TImage можно было бы сделать скролл, а не минять размер формы.Большое спасибо, за то чтчо тратите на меня свое время.
BEST1306ParticipantQUOTE (Support @ Apr 2 2010, 07:54 AM) <{POST_SNAPBACK}>Попробуйте при рисовании установить sSkinProvider1.SkinData.BGChanged := True, это сбросит кэш.
Дело в том, что картинка скорее всего берется из кэша для вывода, поэтому не меняется.
К сожалению это не помогает. Может, я не правильно вставил в свой код:CODEprocedure TForm1.sB_transClick(Sender: TObject);
var i:byte; Fname,name1:string; x,y:integer;
beginsSkinManager1.UpdateSkin;
x:=50;
y:=50;
name1:=sE_Name.Text;
Form1.ClientHeight:=150+(50*Length(name1));
sSkinProvider1.SkinData.BGChanged := True;
For i:=1 to Length(name1) do
begin
If ord(name1)<>32 then
begin
Fname:=name1+'.bmp';
pic_Letter.LoadFromFile('Letters' +Fname);
Canvas.Draw(x,y,pic_Letter);
y:=y+pic_Letter.Height;
end;
end;
if sRB_man.Checked then pic_Letter.LoadFromFile('Lettersman.bmp')
else pic_Letter.LoadFromFile('Letterswoman.bmp');Canvas.Draw(x,y,pic_Letter);
y:=y+pic_Letter.Height;
Canvas.Brush.Style:=bsClear;
Canvas.Pen.Width:=3;
Canvas.RoundRect(x-10,40,x+(pic_Letter.Width+10),y+10,80,80);
Form1.ClientHeight:=150+(50*Length(name1));end;
AuthorPostsViewing 6 posts - 1 through 6 (of 6 total)