Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Программисты долго мучаются с кодом прогаммы, изучают С++, WinAPI функции, MSDN. Потом пишут банальную систему защиты или навешивают банальный протектор, а крэкеры и реверсеры справляются с такой защитой за 5 минут. В итоге, продажи программы почти нулевые. Чтобы такого не допустить, тут самому надо немного поднабрать опыта отладки, реверсинга, тот же отладчик Ollydbg изучить или дизассемблер IDA Pro. Но где искать по крохам эти знания? Нет, конечно можно годами "методом тыка" разбираться, но куда быстрее видеокурс специальный посмотреть. Вот тут он есть: ссылка. Автор курса с большим опытом и объясняет понятно, я из этого курса много узнал про то как работает компьютер, процессор, про инструменты специальные и как с ними работать. Мои коллеги программисты на работе ничего такого и не знают, теперь я им нос утру.
Создание еще одного фрейма для документа
A: (Leprecon)
Оригинальная ссылка: нету

Бывает так, что одного фрейма для документа в MDI приложении недостаточно. Например если нужно отобразить один и тот же документ двумя разными видами. Лучше всего для этого создать еще один шаблон документа, в котором указать другой класс вида или класс внутреннего фрейма. Делается это в функции BOOL CWinApp::InitInstance(). Очень удобно завести для всех шаблоноб документов переменные в классе приложения:
class CMyApp : public CWinApp
 
 {
 
 .......
 
 // document templates
 
 public:
 
     CMultiDocTemplate* m_pDocTemplate1;
 
     CMultiDocTemplate* m_pDocTemplate2;
 
 .......
 
 };
Тогда при создании, каждый шаблон запоминается в соответствующей переменной:
BOOL CMyApp::InitInstance()
 
 {
 
 ...........
 
     m_pDocTemplate1 = new CMultiDocTemplate(
 
         IDR_FRAME2TYPE,
 
         RUNTIME_CLASS(CMyDoc),
 
         RUNTIME_CLASS(CChildFrame), // custom MDI child frame
 
         RUNTIME_CLASS(CMyView1));
 
     AddDocTemplate(m_pDocTemplate1);
 
 
 
     m_pDocTemplate2 = new CMultiDocTemplate(
 
         IDR_FRAME2TYPE,
 
         RUNTIME_CLASS(CMyDoc),
 
         RUNTIME_CLASS(CChildFrame), // custom MDI child frame
 
         RUNTIME_CLASS(CMyView2));
 
     AddDocTemplate(m_pDocTemplate2);
 
 ...........
 
 }
После этого создать еще один фрейм для документа проще простого:
void CChildFrame::OnNewFrame()
 
 {
 
     CMyApp* pApp = (CFrame2App*) AfxGetApp();
 
     CFrameWnd* pFrame = pApp->m_pDocTemplate1->CreateNewFrame(GetActiveDocument(), this);
 
     pFrame->ShowWindow(SW_SHOW);
 
 }
Если есть какие-то замечания, предложения или что-то еще, то пишите:
leprecon@pisem.net.


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS