|
16.07.2010, 02:42
|
#16
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Удаление рисунка
По-моему, тебе теорию читать надо перед сном до полного понимая, а не наобум клавиши тыкать.
__________________
|
(Offline)
|
|
16.07.2010, 10:20
|
#17
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Удаление рисунка
Сообщение от pax
Ну для этого надо создать таймер, который будет каждые 100 мс делать вызов OnPaint. В Net перерисовка формы вызывается функцией Invalidate. Поищи, может тоже самое есть и в MFC.
|
не то советуешь. Стоит прописать макросы "таблица сообщений", тогда ОС будет посылать событие приложению в нужный момент. А дрюкать 10 раз в секунду перерисовку - не фонтан для прикладной проги.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
|
den (16.07.2010), pax (16.07.2010)
|
16.07.2010, 10:54
|
#18
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Удаление рисунка
#include<afxwin.h>
#include<stdlib.h>
#include"resource.h"
//created by imper
class CMyDialog:public CDialog
{
private:
bool FLAG;
public:
CMyDialog::CMyDialog():CDialog(IDD_DIALOG1){
this->FLAG=false;
}
afx_msg void OnPaint();
afx_msg void ChangeFlag();
BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
};
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
BOOL CMyApp::InitInstance()
{
SetDialogBkColor(RGB(192,192,192),RGB(0,0,0));
CMyDialog dialog;
m_pMainWnd=& dialog;
dialog.DoModal();
return FALSE;
}
BEGIN_MESSAGE_MAP(CMyDialog,CDialog)
ON_WM_PAINT()
ON_COMMAND(IDC_BUT_CHNGFLG,ChangeFlag)
END_MESSAGE_MAP()
BOOL CMyDialog::OnInitDialog()
{InvalidateRect(NULL);
CDialog::OnInitDialog();
return TRUE;
}
void CMyDialog::ChangeFlag(){
this->FLAG=!this->FLAG;
this->InvalidateRect(NULL);
}
void CMyDialog::OnPaint(){
CPaintDC dc(this);
if(this->FLAG){
dc.TextOut(10,10,"йопта!");
}
}
CMyApp MyApp;
код жоскей - сам причиши, что нужно
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
|
|
16.07.2010, 13:30
|
#19
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Удаление рисунка
Сообщение от impersonalis
не то советуешь. Стоит прописать макросы "таблица сообщений", тогда ОС будет посылать событие приложению в нужный момент. А дрюкать 10 раз в секунду перерисовку - не фонтан для прикладной проги.
|
Про макросы таблицы сообщений не знал. Спасибо за пояснение техники.
А вообще кто его знает зачем он Sleep(100) использовал. Может он игру на GDI хочет написать, он же об этом не упомянул
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.07.2010, 15:28
|
#20
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Удаление рисунка
Может он игру на GDI хочет написать, он же об этом не упомянул
|
ага, уже сценарий пишу!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:48.
|