За основу мы возьмем сообщение про пострение гистограммы на С++ которую я недавноопубликовал.
Заходим в Обозревателе решений и выбираем там папочку файлы заголовков, а в ней ProgrammDlg.h
В самом низу пишем :
Частная территория:
хрень hPenOxy, hOldPen;
HFONT держать, hNew, хбк;
HBRUSH м oldm;
COLORREF МВ, КФК, с[25];
CPen д oldd;
CBitmap рис;
crect тогда РК, Вт, кВт[12];
cstring в мс, т, Z;
слово int х1, У1, х2, У2;
инт матрицы[50][50];
инт ов, РВ, к, Я, д, СХ, СУ, CZ, ДХ, ды;
боол ФГ;
хрень hPenOxy, hOldPen;
HFONT держать, hNew, хбк;
HBRUSH м oldm;
COLORREF МВ, КФК, с[25];
CPen д oldd;
CBitmap рис;
crect тогда РК, Вт, кВт[12];
cstring в мс, т, Z;
слово int х1, У1, х2, У2;
инт матрицы[50][50];
инт ов, РВ, к, Я, д, СХ, СУ, CZ, ДХ, ды;
боол ФГ;
общественные:
пустота заставка();
пустота rndcolor();
пустота Диаграмма();
пустота krdiagramm();
пустота afx_msg OnLButtonDown(uint с nFlags, точка соединения);
пустота afx_msg OnRButtonDown(uint с nFlags, точка соединения);
Теперь заходим в Обозревателе решений и выбираем там папочку исходных файлов, а в ней (название программы)...Dlg.cpp (с таким окончанием)
Находим конец и там вставляем все это:
пустота CProgramDlg::заставка()
{
CClientDC DC(в этом);
GetClientRect(&РХ);
ДХ = АБС(РЦ.право - радиоуправляемый.слева) / 5;
ды = АБС(РЦ.дно - радиоуправляемый.сверху) / 5;
инт ПП = 0;
для (K = 0; К < 5; к++)
{
для (я = 0; я < 5; я++)
{
если (пп % 2 == 0)
{
кф = 0x0000DDFF;
СК = 0x00C4563D;
}
еще
{
СК = 0x0000DDFF;
кф = 0x00C4563D;
}
hPenOxy = CreatePen(PS_SOLID, 6, КФК);
hOldPen = (хрень)Выделитьобъект(постоянного тока, hPenOxy);
м = CreateSolidBrush(кф);
oldm = (HBRUSH)постоянного тока.Выделитьобъект(м);
х1 = РЦ.слева + к*ДХ;
У1 = РЦ.топ + я*ды;
х2 = РК.слева + (к + 1)*ДХ;
У2 = РЦ.топ + (я + 1)*ды;
постоянного тока.Прямоугольник(х1, У1, х2, У2);
ПП++;
}
}
Удалитьобъект(м);
Выделитьобъект(ДК, oldm);
Выделитьобъект(ДК, hOldPen);
Удалитьобъект(hPenOxy);
}
пустота CProgramDlg::rndcolor()
{
CClientDC DC(в этом);
GetClientRect(&РХ);
ДХ = АБС(РЦ.право - радиоуправляемый.слева) / 8;
ды = АБС(РЦ.дно - радиоуправляемый.топ) / 8;
для (K = 0; к < 8; к++)
{
для (я = 0; я < 8; я++)
{
СХ = Ранд() % 255;
тИЦ = Ранд() % 255;
КЗ = Ранд() % 255;
кф = РГБ(СХ, СУ, CZ, Чехия);
СХ = Ранд() % 255;
тИЦ = Ранд() % 255;
КЗ = Ранд() % 255;
СК = РГБ(СХ, СУ, CZ, Чехия);
hPenOxy = CreatePen(PS_SOLID, 6, КФК);
hOldPen = (хрень)Выделитьобъект(постоянного тока, hPenOxy);
м = CreateSolidBrush(кф);
oldm = (HBRUSH)постоянного тока.Выделитьобъект(м);
х1 = РЦ.слева + к*ДХ;
У1 = РЦ.топ + я*ды;
х2 = РК.слева + (к + 1)*ДХ;
У2 = РЦ.топ + (я + 1)*ды;
постоянного тока.Прямоугольник(х1, У1, х2, У2);
}
}
Удалитьобъект(м);
Выделитьобъект(ДК, oldm);
Выделитьобъект(ДК, hOldPen);
Удалитьобъект(hPenOxy);
}
пустота CProgramDlg::Диаграмма()
{
// рисуем на планшете
CClientDC DC(в этом);
GetClientRect(&РХ);
// ширина и высота в равных частях
ДХ = АБС(РЦ.право - радиоуправляемый.слева) / 7;
ды = АБС(РЦ.дно - радиоуправляемый.сверху) / 7;
// формируем разноцветье для прямоугольников
для (K = 0; к < 7; к++)
{
СХ = Ранд() % 255;
тИЦ = Ранд() % 255;
КЗ = Ранд() % 255;
с[K] = РГБ(СХ, СУ, CZ, Чехия);
}
// перекрашиваем в область белое
кф = СК = РГБ(255, 255, 255);
постоянного тока.Прямоугольник (пик);
// прорисовываем прямоугольники разного цвета
для (K = 0; к < 6; к++)
{
// крайние только белого света
если ((к > 0) && (к < 6))
{
кф = СК = с[K];
СК = РГБ(255, 255, 255);
}
// устанвливаем цвет пера и кисточки
hPenOxy = CreatePen(PS_SOLID, 24, СК);
hOldPen = (хрень)Выделитьобъект(постоянного тока, hPenOxy);
м = CreateSolidBrush(кф);
oldm = (HBRUSH)постоянного тока.Выделитьобъект(м);
// размеры очередного прямоугольника
х1 = РЦ.слева + к*ДХ;
У1 = РЦ.топ + (слчис() % 6 + 1)*ды - Ранд() % ды;
х2 = РК.слева + (к + 1)*ДХ;
У2 = РЦ.дно - ды + 50;
// рисуем прямоугольник
если ((к > 0) && (к < 6)) постоянного тока.Прямоугольник(х1, У1, х2, У2);
}
// восстанавливаем цвета
Удалитьобъект(м);
Выделитьобъект(ДК, oldm);
Выделитьобъект(ДК, hOldPen);
Удалитьобъект(hPenOxy);
}
пустота CProgramDlg::krdiagramm()
{
для (K = 0; к < 7; к++)
{
СХ = Ранд() % 255;
тИЦ = Ранд() % 255;
КЗ = Ранд() % 255;
с[K] = РГБ(СХ, СУ, CZ, Чехия);
}
// рисуем на планшете
CClientDC DC(в этом);
GetClientRect(&РХ);
//Вычисляем координаты круга
х=х1 = РЦ.левый + 190;
У1 = РЦ.Топ + 50;
ДХ=х2 = РК.право - 190;
dу=У2 = РЦ.дно - 40;
СХ = (х + ДХ) / 2;
тИЦ = (у + dу) / 2;
// формируем разноцветье для прямоугольников
// перекрашиваем в область белое
кф = СК = РГБ(255, 255, 255);
постоянного тока.Прямоугольник (пик);
// устанвливаем цвет пера и кисточки
hPenOxy = CreatePen(PS_SOLID, 4, КФК);
hOldPen = (хрень)Выделитьобъект(постоянного тока, hPenOxy);
м = CreateSolidBrush(с[0]);
oldm = (HBRUSH)постоянного тока.Выделитьобъект(м);
постоянного тока.Эллипс(х1,У1,х2,У2);
м = CreateSolidBrush(с[1]);
oldm = (HBRUSH)постоянного тока.Выделитьобъект(м);
делать {
х3 = х + слчис() % АБС(СХ - х);
х4 = х + слчис() % АБС(СХ - х);
} а (х3 < х4);
делать
{
У3 = г + слчис() % АБС(тИЦ - г);
у4 = г + слчис() % АБС(тИЦ - г);
}а (У3 > у4);
постоянного тока.Пирог(х1, У1, х2, У2, х3, У3, х4, у4);
м = CreateSolidBrush(с[2]);
oldm = (HBRUSH)постоянного тока.Выделитьобъект(м);
делать {
х3 =СХ + слчис() % АБС(СХ - ДХ);
х4 = СХ + слчис() % АБС(СХ - ДХ);
} а (х3 < х4);
делать {
У3 = г + слчис() % АБС(тИЦ - ды);
у4 = г + слчис() % АБС(тИЦ - ды);
} а (У3 < у4);
постоянного тока.Пирог(х1, У1, х2, У2, х3, У3, х4, у4);
м = CreateSolidBrush(с[3]);
oldm = (HBRUSH)постоянного тока.Выделитьобъект(м);
делать {
х3 = х + слчис() % АБС(СХ - х);
х4 = х + слчис() % АБС(СХ - х);
} а (х3 > х4);
делать
{
У3 = тИЦ + слчис() % АБС(тИЦ - ды);
у4 = тИЦ + слчис() % АБС(тИЦ - ды);
} а (У3 > у4);
постоянного тока.Пирог(х1, У1, х2, У2, х3, У3, х4, у4);
м = CreateSolidBrush(с[4]);
oldm = (HBRUSH)постоянного тока.Выделитьобъект(м);
делать {
х3 = СХ + слчис() % АБС(СХ - ДХ);
х4 = СХ + слчис() % АБС(СХ - ДХ);
} а (х4 < х3);
делать {
У3 = тИЦ + слчис() % АБС(тИЦ - ды);
у4 = тИЦ + слчис() % АБС(тИЦ - ды);
} а (у4 > У3);
постоянного тока.Пирог(х1, У1, х2, У2, х3, У3, х4, у4);
// восстанавливаем цвета
Удалитьобъект(м);
Выделитьобъект(ДК, oldm);
Выделитьобъект(ДК, hOldPen);
Удалитьобъект(hPenOxy);
}
Теперь идем по пути : проект-класс>Мастер->И выбираем 2 функции: WM_LBUTTONDOWN и WM_Rраспашной
В WM_LBUTTONDOWN Далее мы вставляем это:
krdiagramm();
Далее в WM_Rраспашной мы вставляем это:
заставка();
Комментариев нет:
Отправить комментарий