TBrush проблемы обновления
Так вотЭ, задумка такая, я кликаю мышкой на палитру и получаю значение цвета, присваиваю его глобальной переменной br (TBrush), которая доступна двум формам.
Проблема вот какая! Когда я кликаю на палитру, то получаю значение цвета кисти! На Form1->Image1 я заливаю всю Image1 полученным цветом! Но стоит мне кликнуть второй раз на палитре но уже на другом цвете, то при клике на Form1->Image1 ничего не происходит (потому что не обновляется кисть). Вопрос: ГДЕ (в каком событии) нужно обновить кисть, чтобы все работало корректно?
Я на форме Form1 разместил Image1, а на второй форме Form2 находится палитра.
Так вотЭ, задумка такая, я кликаю мышкой на палитру и получаю значение цвета, присваиваю его глобальной переменной br (TBrush), которая доступна двум формам.
Проблема вот какая! Когда я кликаю на палитру, то получаю значение цвета кисти! На Form1->Image1 я заливаю всю Image1 полученным цветом! Но стоит мне кликнуть второй раз на палитре но уже на другом цвете, то при клике на Form1->Image1 ничего не происходит (потому что не обновляется кисть). Вопрос: ГДЕ (в каком событии) нужно обновить кисть, чтобы все работало корректно?
Шо опять:) ?
А ты уверен, что кисть не обновляется?
Попробуй вывести ее значение при изменении.
Может RePaint поможет...
Шо опять:) ?
А ты уверен, что кисть не обновляется?
Попробуй вывести ее значение при изменении.
Может RePaint поможет...
Вот короче исходник и экзешник.
Вначале делаем "OptionsMap->GenerateMap", затем OptionsMap->Painter (именно здесь траблы)
Вот короче исходник и экзешник.
Вначале делаем "OptionsMap->GenerateMap", затем OptionsMap->Painter (именно здесь траблы)
ОЙ! Забыл файл прикрепить!
ОЙ! Забыл файл прикрепить!
Ну не уже ли никто не может помочь?
Ну не уже ли никто не может помочь?
пиши в Visual Studio тогда помогу
Ну не уже ли никто не может помочь?
Посмотрел проект...
УБИВАТЬ ЗА ТАКОЕ НАДО.
Тут такой бардак (хорошо хоть маленький). Скажи ты примеры
из Архангельского брал? Ну и зря(один дурак написал, а другой-издал).
Половина из них не рабочие
(не пригодны к употреблению).
Совет дна: сноси все к чертям и начинай по новому, по аккуратней.
Ну, это я отвлекся...
Во первых, ты не правильно используешь TBrush:
Note: Setting the Brush property assigns the specified TBrush object, rather than replacing the current TBrush object.
Specifies an external bitmap image that defines a pattern for the brush.
__property TBitmap* Bitmap = {read=GetBitmap, write=SetBitmap};
Description
Bitmap points to a TBitmap object that holds a BMP image. If Bitmap is nonempty, the BMP image (rather than the Style property) defines the brush’s pattern. If the image is larger than eight pixels by eight pixels, only the top left eight-by-eight region is used.
Changing the image does not affect the brush until the TBitmap is reassigned to the Bitmap property. Be sure to free the TBitmap after finishing with the brush, since TBrush will not free it.
Тут все! расписано.
Если ты обращал внимание, то когда ты "снимаешь" кисть, т.е. кликаешь по мэйну
правой кнопкой, а потом заливаешь серым цветом(т.е. еще раз кликаешь, но правой),то
новая картинка для кисти выбирается без проблем.
Это тут описано. Но есть еще одно - картинка-маска должна быть размером 8х8(не помню как в 6, но думаю без изменений), т.е. твои "картЫнкЫ" 32х32 - не у дел.
Мало того, ты зря их загружаешь по сто раз, т.к. это вообще не так делается.
Вот не полный список лишних вещей:
FillRect
Form2->Hide()
Form1->Enable=true // or false
switch(i)
Sender == Image1
Form1->Left = 0;
Form1->Top = 0;
Form1->Width = GetSystemMetrics(SM_CXSCREEN);
Form1->Height = GetSystemMetrics(SM_CYSCREEN);
Form1->Image1->Width = Form1->Width;
Form1->Image1->Height = Form1->Height;
// целый кусок
if (stat_ == true)
{
int sector = 32;
Form1->Image1->Canvas->MoveTo(x, y);
Form1->Image1->Canvas->LineTo(x + sector, y);
Form1->Image1->Canvas->MoveTo(x + sector, y);
Form1->Image1->Canvas->LineTo(x + sector, y + sector);
Form1->Image1->Canvas->MoveTo(x + sector, y + sector);
Form1->Image1->Canvas->LineTo(x, y + sector);
Form1->Image1->Canvas->MoveTo(x, y + sector);
Form1->Image1->Canvas->LineTo(x, y);
}
else if (stat_ == false)return; //при том, что это конец ф-ции :D
И тут полно еще такогО.
//Я еще б критиковал, но опоздаю на "Шпионку".
"Если хочешь сделать хорошо, делай это сам...",но если хочешь я могу помочь...
З.Ы.: если обиделся, то зря:)
Посмотрел проект...
УБИВАТЬ ЗА ТАКОЕ НАДО.
Тут такой бардак (хорошо хоть маленький). Скажи ты примеры
из Архангельского брал? Ну и зря(один дурак написал, а другой-издал).
Половина из них не рабочие
(не пригодны к употреблению).
Совет дна: сноси все к чертям и начинай по новому, по аккуратней.
Тут все! расписано.
Если ты обращал внимание, то когда ты "снимаешь" кисть, т.е. кликаешь по мэйну
правой кнопкой, а потом заливаешь серым цветом(т.е. еще раз кликаешь, но правой),то
новая картинка для кисти выбирается без проблем.
Это тут описано. Но есть еще одно - картинка-маска должна быть размером 8х8(не помню как в 6, но думаю без изменений), т.е. твои "картЫнкЫ" 32х32 - не у дел.
"Если хочешь сделать хорошо, делай это сам...",но если хочешь я могу помочь...
З.Ы.: если обиделся, то зря:)
Да! Я именно использую советы Архангельского! Вообще я в VisualStudio прогал, а потом как-то постепенно начал в билдер переходить.
Я не обиделся! Если я не знаю, то на что я могу обижаться? На свои ошибки? Ну это я отвлекся!
Вообще я за то, чтоб ты мне помог...
Да! Я именно использую советы Архангельского! Вообще я в VisualStudio прогал, а потом как-то постепенно начал в билдер переходить.
Я не обиделся! Если я не знаю, то на что я могу обижаться? На свои ошибки? Ну это я отвлекся!
Вообще я за то, чтоб ты мне помог...
:D Всегда рад помочь:D
Хотя урок - это "пинок" в нужном направлении.
Главно запомни - думать за тебя никто не будет
(не то хоби выбрал).
Насчет примера, то я выкладывал в тему:
"Плавное движение" Gangster'у скрин из своего старого редактора карт на фаллоут,
написанный(да не дописанный) на 5 билдере года 2
назад.
А че ты забросил visual studio? Оказалась не по зубам?
Почему же? Не забросил.. Просто я студию для работы с винапи использую. А в Buildere легко с компонентами работать.
Я сейчас полностью в редактор карт ушел =))
не дошел.