C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблемы с рисованием на форме  (Прочитано 1224 раз)
Onic777
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 8


Проблемы с рисованием на форме
« : 09 Январь 2015, 13:40:34 »

Привет Знатокам!

Имеется форма, условно называемая WCV. На нее положена панель Panel1. На панель положен Image1.
На панель выводится видео с Веб камеры:

Код
void __fastcall TWCV::OpenVideo(void)
{
hWndC = capCreateCaptureWindowA("My Own Capture Window",
WS_CHILD | WS_VISIBLE,
WCV->Panel1->Left,
WCV->Panel1->Top,
WCV->Panel1->Width,
WCV->Panel1->Height,
WCV->Panel1->Handle,
0);
if (hWndC!=0)
{
capDriverConnect (hWndC,DeviceIndex);
capPreviewScale (hWndC, -1);
capPreviewRate (hWndC,0x42);
capPreview (hWndC,-1);
SetWindowPos (hWndC,
HWND_BOTTOM,
WCV->Panel1->Left,
WCV->Panel1->Top,
WCV->Panel1->Width,
WCV->Panel1->Height,
SWP_SHOWWINDOW);
}
}
 


Любые попытки нарисовать на Image1, например, рамку определенного размера ни к чему не приводят - ее не видно!


Код
void __fastcall TWCV::ConturDraw(int X, int Y)
{
Image1->Transparent = true;
Image1->Canvas->Brush->Color = clAqua;
Image1->Canvas->Brush->Style = bsSolid;
TRect R(0,0,160,160);
Image1->Canvas->FrameRect(R);
}


Вопроса как всегда два: "Кто виноват? И что делать?" 
Ну или по другому спрошу:
1. Почему не видно нарисованных на Canvas линий???
2. Как обеспечить возможность рисования???

Спасибо!
Записан
OVE
Участник


Сказали спасибо: +67/-0
Offline

Сообщений: 72


Re: Проблемы с рисованием на форме
« Ответ #1 : 09 Январь 2015, 14:05:39 »

У меня рисуется прямоугольник. Я к кнопке привязал твой код рисования. Может у тебя эта функция из программы не вызывается?
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Transparent = true;
Image1->Canvas->Brush->Color = clAqua;
Image1->Canvas->Brush->Style = bsSolid;
TRect R(0,0,160,160);
Image1->Canvas->FrameRect(R);
}
Записан
Onic777
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 8


Re: Проблемы с рисованием на форме
« Ответ #2 : 09 Январь 2015, 15:20:02 »

Привет!

Да конечно! Функция рисования прямоугольника ConturDraw безусловно рабочая и в других формах она работает!
Вся проблема заключается именно в том, что сперва вызывается функция OpenVideo, а после нее ConturDraw!!!
Увы....



Onic777 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.126 секунд. Запросов: 22.