Visual Studio, една проста рисунка на графичен вид контур и дисплей

Visual Studio, една проста рисунка на графичен вид контур и дисплей

Блогът вече има редица бележки, показващи работата с графичен вид платно в Visual C ++ (пъти. Две). Целта на този пример - за да покаже как един и същи код и софтуер, който ще донесе изготвяне за първи път през прозореца на форма и след това просто от външната страна на витрината. Направете последния метод позволява GetDC на Windows API, получаване контекста на графичното устройство.

1. В форма клас определено флаг се посочва дали е необходимо да се прекрои снимката:

2. Той се инициализира в метод Load на формата (например необходимостта да се направи, когато се зарежда за първи път):

3. Всички рисуване се извършва под формата на метод Paint (изключения от това правило малко):

4. Някои събития форма ще трябва да започне задължително пребоядисване, например, когато потребителят е завършил преоразмеряване на прозореца (SizeChanged събитие):

5. Трансфер до нашата Draw друга графична контекст (като контекста на Windows графичен дисплей), можете да рисувате по същата схема ", на друго място", например, на върха на всички прозорци или под тях.

Ние показваме като пример прихващането на графичния контекста на основния дисплей (когато преоразмеряване на прозореца на нашата форма изображение ще преначертае прозореца извън форма, като се започне от горния ляв ъгъл на екрана). Решението работи само за Windows.

5.1. Zainkludit в началото на .h формата на файл:

5.2. Свържете се с проекта за стандарт USER32 Windows-библиотека. За да направите това, отидете в менюто Project, свойствата на проекта, отворете списъка в лявата Линкер, след това въведете, както и да се регистрират в "допълнителни зависимости" стойност

5.3. Проверете дали е свързан с пространството от имена на проект

5.4. метод Paint форма ще се промени, тъй като преди да се обадите го Draw ще получи контекст графичен дисплей:

Рисуване все още зависи от позицията на прозореца на приложението, но може вместо това-> ClientSize се опитате да използвате размера на екрана.