Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Шашки на C++ и WinAPI https://www.cyberforum.ru/ win-api/ thread876351.html
Всем привет!!! Подскажите пожалуйста как лучше реализовать... Проблема в игровом поле... Сам алгоритм я в общем понимаю... А вот как реализовать игровое поле не пойму... Хочется сделать чтобы как к примеру в проводнике Windows при выборе вид "Плитки выглядело это всё.... Т.е. нарисовать в окне поле и перирисовывать потом определённую область - это я себе представляю. Но надо сделать не...
C++ WinAPI Изменение кодировки файла
Здравствуйте, такой вопрос, я считываю из консоли текст, и записываю его в файл, затем я хочу изменить кодировку этого файла, допустим, если там была ANSI, то сделать UTF - 8. Как это возможно? Спасибо! Добавлено через 56 минут Даже не так, вообщем что я делаю... Для начала я пишу под Windows, в свойствах проекта VS 2012 поставил набор символов: не задано (для моего случая это необходимо)....
C++ WinAPI Отмена выхода из окна быстрой клавишей Escape В общем нужно предотвратить выход из окна(которое открывается через меню) через клавишу Escape. На данном сайте я нашёл подобную тему где было сказано, что можно добиться этого - убрав обработку кнопки CANCEL, но вот незадача, тогда и щелчком мыши не выйдеш из меню. Помогите пожалуйста =) Меню было создано через Create New Dialog, никаких флагов не менял при создании. https://www.cyberforum.ru/ win-api/ thread875974.html C++ WinAPI Разделить окно на "фреймы" Здравствуйте. Как разделить одно окно на две части. Вот как в "проводнике" сделано, чтобы мышью можно было регулировать ширину областей. https://www.cyberforum.ru/ win-api/ thread875370.html
C++ WinAPI Сделать неактивным меню верхнего уровня
Здравствуйте. Начинаю писать на WinAPI, первое приложение, так что здесь совсем новичок. Хотел узнать, можно ли как-то сделать недоступным пункт меню верхнего уровня (т.е. не конечный пункт меню, а пункт меню, из которого выпадают другие). Конечным пунктом меню можно оперировать при помощи EnableMenuItem, но тем, из которого еще что-то выпадает, не удается. Может быть есть какая-то еще функция?...
C++ WinAPI Классы в dll https://www.cyberforum.ru/ win-api/ thread875203.html
Господа как можно поместить свой класс в dll и потом использовать этот класс в своей программе ? Примного благодарен буду за разъеснение ,маленький пример или полезную ссылку (даже придставить не могу как это сделать , да ещё и при экспорте не потерять истинное имя т.к. EXTERN _C не подайдёт т.к. в языке "С" нет же классов), вообщем всем заранее огромное спасибо !!!
C++ WinAPI Поиск и сравнение слов в окне редактирования https://www.cyberforum.ru/ win-api/ thread875199.html
Пишу блокнот. Требуется реализовать определение тематики текста по ключевым словам(исторический :год,война, революция...; математика: интеграл, умножение, деление...), т.е. некие массивы из слов, по количеству которых и определяется тема. Название темы выводится можно вывести в один из пунктов меню. Сделал, теперь слова сравниваются по символьно со словами из текста : static char...
C++ WinAPI Как узнать состояние процесса по PID?
Доброго времени суток, подскажите как можно узнать запущен ли процесс или не запущен если я знаю его PID (process id). В линукс вроде нашел как, а на виндовс не могу ничего найти уже второй день...подскажите, пожалуйста, очень срочно надо
C++ WinAPI Изменить курсор - SetCursor https://www.cyberforum.ru/ win-api/ thread874797.html
Изменить курсор на время выполнения консольного приложения. В чем ошибка? почему не меняется курсор? HCURSOR hCurs5; hCurs1 = LoadCursor(NULL, IDC_SIZENWSE); SetCursor(hCurs5);
C++ WinAPI Установка хука в чем ошибка? https://www.cyberforum.ru/ win-api/ thread874665.html
ПРиветствую.Задача такая - поставить хук на клавиатуру,чтобы при нажатии клавиши вылетало сообщение с этой клавишей.Вот код: public partial class Form1 : Form { static IntPtr hookid = IntPtr.Zero; delegate IntPtr keysliv(int keycode, IntPtr par1, IntPtr par2); static keysliv proc = keyslivfunc; static IntPtr keyslivfunc(int keycode, IntPtr par1,...
C++ WinAPI Регистрация класса окна потока
Подскажите пожалуйста, почему при регистрации класса окна потока функция BOOL h=RegisterClass(&wc); возвращает FALSE? Код написан по подобию из книги Финогенова. Вот исходный код: resource.h #include <WindowsX.h> #include <windows.h> #include <Winbase.h> #include <stdio.h> #include <commctrl.h> #pragma comment(lib,"comctl32.lib")
C++ WinAPI Как создать модальное полупрозрачное окно? Тобишь нужно окно, отображаемое поверх всех остальных и с полупрозрачностью.... https://www.cyberforum.ru/ win-api/ thread874326.html
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
27.05.2013, 12:06  [ТС] 0

Положить фигурную скобку на бок и растянуть - C++ WinAPI - Ответ 4623152

27.05.2013, 12:06. Показов 4360. Ответов 23
Метки (Все метки)

Ответ

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- я и не говорил за иксы на винде это ты завёл раговор о GNU
Про иксы я не говорил, а раздел смотреть не помешает.

Добавлено через 2 минуты
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- вот скажи каким хреном она(лицензия) идёт к заданию о скобках?
А таким, что это не зачёт и я хочу потом распространять прогу. Нарисовал функцией Poligon:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
//=====================================================================================================================================================================================================
#include "aboutmmz.hpp"
//=====================================================================================================================================================================================================
void                          DrawTillSeriesOperator                (HDC                   &Context       ,
                                                                     int                    Left          ,
                                                                     int                    Top           ,
                                                                     int                    Right         ,
                                                                     int                    Bottom        ,
                                                                     std::wstring           InitionText   ,
                                                                     std::wstring           ModifyText    ,
                                                                     std::wstring           ConditionText ,
                                                                     int                   &EndY          ,
                                                                     HFONT                  Font          ,
                                                                     HFONT                  BaseFont      ,
                                                                     double                 Scale         ,
                                                                     COLORREF               InitionColor  ,
                                                                     COLORREF               ModifyColor   ,
                                                                     COLORREF               ConditionColor)
{
        int     SeriesX;
        int     SeriesY;
        int     InitionX;
        int     InitionY;
        int     ModifyX;
        int     ModifyY;
        int     BracketX1;
        int     BracketX2;
        int     BracketY;
        int     TillX;
        int     TillY;
        int     ConditionX;
        int     ConditionY;
        int     ParenthesisX;
        int     ParenthesisY;
        SIZE    SpaseSize;
        SIZE    SeriesSize;
        SIZE    InitionSize;
        SIZE    ModifySize;
        SIZE    TillSize;
        SIZE    ConditionSize;
        SIZE    ParenthesisSize;
        SIZE    BracketSize;
        int     BraseY1;
        int     BraseY2;
        int     BraseY3;
        int     BraseY4;
        int     BraseY5;
        int     BraseY6;
 static wchar_t Space=L' ';
 static wchar_t Series[7]=L"series";
 static wchar_t Till  [6]=L"till(";
 static wchar_t Parenthesis=L')';
 SelectObject(Context, BaseFont);
 GetTextExtentPoint32W(Context, &Space, 1, &SpaseSize);
 GetTextExtentPoint32W(Context,  Series, 6, &SeriesSize);
 GetTextExtentPoint32W(Context,  InitionText.c_str(), InitionText.length(), &InitionSize);
 GetTextExtentPoint32W(Context,  ModifyText.c_str(), ModifyText.length(), &ModifySize);
 GetTextExtentPoint32W(Context,  Till, 5, &TillSize);
 GetTextExtentPoint32W(Context,  ConditionText.c_str(), ConditionText.length(), &ConditionSize);
 GetTextExtentPoint32W(Context, &Parenthesis, 1, &ParenthesisSize);
 SelectObject(Context, Font);
 SeriesX=Left;
 SeriesY=Top-400;
 SetTextColor(Context, IDBlack);
 TextOutW(Context, ((double)SeriesX)*Scale, ((double)SeriesY)*Scale, Series, 6);
 BracketSize.cx=SpaseSize.cx;
 BracketSize.cy=SpaseSize.cy;
 BracketX1=SeriesX+SeriesSize.cx+40;
 BracketY =SeriesY;
 DrawOpentBracket(Context, BracketX1, BracketY, 20, BracketSize, Scale);
 InitionX=BracketX1+BracketSize.cx+40;
 InitionY=BracketY;
 SetTextColor(Context, InitionColor);
 TextOutW(Context, ((double)InitionX)*Scale, ((double)InitionY)*Scale, InitionText.c_str(), InitionText.length());
 ModifyX=InitionX+InitionSize.cx+SpaseSize.cx;
 ModifyY=InitionY;
 SetTextColor(Context, ModifyColor);
 TextOutW(Context, ((double)ModifyX)*Scale, ((double)ModifyY)*Scale, ModifyText.c_str(), ModifyText.length());
 SetTextColor(Context, IDBlack);
 TillX=ModifyX+ModifySize.cx+SpaseSize.cx;
 TillY=ModifyY;
 SetTextColor(Context, IDBlack);
 TextOutW(Context, ((double)TillX)*Scale, ((double)TillY)*Scale, Till, 5);
 ConditionX=TillX+TillSize.cx+40;
 ConditionY=TillY;
 SetTextColor(Context, ConditionColor);
 TextOutW(Context, ((double)ConditionX)*Scale, ((double)ConditionY)*Scale, ConditionText.c_str(), ConditionText.length());
 SetTextColor(Context, IDBlack);
 ParenthesisX=ConditionX+ConditionSize.cx+40;
 ParenthesisY=ConditionY;
 TextOutW(Context, ((double)ParenthesisX)*Scale, ((double)ParenthesisY)*Scale, &Parenthesis, 1);
 BracketX2=ParenthesisX+ParenthesisSize.cx+40;
 DrawCloseBracket(Context, BracketX2, BracketY, 20, BracketSize, Scale);
 BraseY1=SeriesY+320;
 BraseY2=SeriesY+220;
 BraseY3=SeriesY+20;
 BraseY4=SeriesY-SpaseSize.cy-20;
 BraseY5=BraseY4-200;
 BraseY6=BraseY4-300;
 DrawBrase(Context, InitionX, InitionX+InitionSize.cx, BraseY1, BraseY2, BraseY3, 20, Scale);
 DrawBrase(Context, ModifyX, ModifyX+ModifySize.cx, BraseY1, BraseY2, BraseY3, 20, Scale);
 DrawBrase(Context, TillX, ParenthesisX+ParenthesisSize.cx, BraseY1, BraseY2, BraseY3, 20, Scale);
 DrawBrase(Context, InitionX, InitionX+InitionSize.cx, BraseY6, BraseY5, BraseY4, 20, Scale);
 DrawBrase(Context, ModifyX, ModifyX+ModifySize.cx, BraseY6, BraseY5, BraseY4, 20, Scale);
 DrawBrase(Context, TillX, ParenthesisX+ParenthesisSize.cx, BraseY6, BraseY5, BraseY4, 20, Scale);
}
//=====================================================================================================================================================================================================
,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//=====================================================================================================================================================================================================
#include "aboutmmz.hpp"
//=====================================================================================================================================================================================================
void                          DrawBrase                             (HDC                   &Context       ,
                                                                     int                    Left          ,
                                                                     int                    Right         ,
                                                                     int                    Top           ,
                                                                     int                    Middle        ,
                                                                     int                    Bottom        ,
                                                                     int                    Width         ,
                                                                     double                 Scale         )
{
 int   Corner1;
 int   Corner2;
 int   Corner3;
 double d;
 if (Top>Bottom)
 {
  Corner2=(Left+Right)/2;
  Corner1=Corner2-Top+Middle;
  Corner3=Corner2+Top-Middle;
  d=1.0;
 }
 else
 {
  Corner2=(Left+Right)/2;
  Corner1=Corner2+Top-Middle;
  Corner3=Corner2-Top+Middle;
  d=-1.0;
 }
 POINT Points[14];
 HBRUSH Brush;
 Brush=(HBRUSH)GetStockObject(BLACK_BRUSH);
 SelectObject(Context, Brush);
 SetPolyFillMode(Context, WINDING);
 Points[0].x=((double)Left)*Scale;
 Points[0].y=((double)Bottom)*Scale;
 Points[1].x=((double)Left)*Scale;
 Points[1].y=((double)Middle)*Scale;
 Points[2].x=((double)Corner1)*Scale;
 Points[2].y=((double)Middle)*Scale;
 Points[3].x=((double)Corner2)*Scale;
 Points[3].y=((double)Top)*Scale;
 Points[4].x=((double)Corner3)*Scale;
 Points[4].y=((double)Middle)*Scale;
 Points[5].x=((double)Right)*Scale;
 Points[5].y=((double)Middle)*Scale;
 Points[6].x=((double)Right)*Scale;
 Points[6].y=((double)Bottom)*Scale;
 Points[7].x=((double)Right)*Scale-((double)Width)*Scale;
 Points[7].y=((double)Bottom)*Scale;
 Points[8].x=((double)Right)*Scale-((double)Width)*Scale;
 Points[8].y=((double)Middle)*Scale-((double)Width)*Scale*d;
 Points[9].x=((double)Corner3)*Scale-((double)Width)*Scale;
 Points[9].y=((double)Middle)*Scale-((double)Width)*Scale*d;
 Points[10].x=((double)Corner2)*Scale;
 Points[10].y=((double)Top)*Scale-((double)Width)*Scale*d;
 Points[11].x=((double)Corner1)*Scale+((double)Width)*Scale;
 Points[11].y=((double)Middle)*Scale-((double)Width)*Scale*d;
 Points[12].x=((double)Left)*Scale+((double)Width)*Scale;
 Points[12].y=((double)Middle)*Scale-((double)Width)*Scale*d;
 Points[13].x=((double)Left)*Scale+((double)Width)*Scale;
 Points[13].y=((double)Bottom)*Scale;
 Polygon(Context, Points, 14);
 DeleteObject(Brush);
}
//=====================================================================================================================================================================================================
,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//=====================================================================================================================================================================================================
#include "aboutmmz.hpp"
//=====================================================================================================================================================================================================
void                          DrawOpentBracket                      (HDC                   &Context       ,
                                                                     int                    Left          ,
                                                                     int                    Top           ,
                                                                     int                    Width         ,
                                                                     SIZE                   Size          ,
                                                                     double                 Scale         )
{
 POINT  Points[8];
 HBRUSH Brush;
 Brush=(HBRUSH)GetStockObject(BLACK_BRUSH);
 SelectObject(Context, Brush);
 SetPolyFillMode(Context, WINDING);
 Points[0].x=((double)Left)*Scale;
 Points[0].y=((double)Top)*Scale;
 Points[1].x=((double)Left)*Scale+((double)Size.cx)*Scale;
 Points[1].y=((double)Top)*Scale;
 Points[2].x=((double)Left)*Scale+((double)Size.cx)*Scale;
 Points[2].y=((double)Top)*Scale-((double)Width)*Scale;
 Points[3].x=((double)Left)*Scale+((double)Width)*Scale;
 Points[3].y=((double)Top)*Scale-((double)Width)*Scale;
 Points[4].x=((double)Left)*Scale+((double)Width)*Scale;
 Points[4].y=((double)Top)*Scale+((double)Width)*Scale-((double)Size.cy)*Scale;
 Points[5].x=((double)Left)*Scale+((double)Size.cx)*Scale;
 Points[5].y=((double)Top)*Scale+((double)Width)*Scale-((double)Size.cy)*Scale;
 Points[6].x=((double)Left)*Scale+((double)Size.cx)*Scale;
 Points[6].y=((double)Top)*Scale-((double)Size.cy)*Scale;
 Points[7].x=((double)Left)*Scale;
 Points[7].y=((double)Top)*Scale-((double)Size.cy)*Scale;
 Polygon(Context, Points, 8);
 DeleteObject(Brush);
}
//=====================================================================================================================================================================================================
void                          DrawCloseBracket                      (HDC                   &Context       ,
                                                                     int                    Left          ,
                                                                     int                    Top           ,
                                                                     int                    Width         ,
                                                                     SIZE                   Size          ,
                                                                     double                 Scale         )
{
 POINT  Points[8];
 HBRUSH Brush;
 Brush=(HBRUSH)GetStockObject(BLACK_BRUSH);
 SelectObject(Context, Brush);
 SetPolyFillMode(Context, WINDING);
 Points[0].x=((double)Left)*Scale;
 Points[0].y=((double)Top)*Scale;
 Points[1].x=((double)Left)*Scale+((double)Size.cx)*Scale;
 Points[1].y=((double)Top)*Scale;
 Points[2].x=((double)Left)*Scale+((double)Size.cx)*Scale;
 Points[2].y=((double)Top)*Scale-((double)Size.cy)*Scale;
 Points[3].x=((double)Left)*Scale;
 Points[3].y=((double)Top)*Scale-((double)Size.cy)*Scale;
 Points[4].x=((double)Left)*Scale;
 Points[4].y=((double)Top)*Scale+((double)Width)*Scale-((double)Size.cy)*Scale;
 Points[5].x=((double)Left)*Scale-((double)Width)*Scale+((double)Size.cx)*Scale;
 Points[5].y=((double)Top)*Scale+((double)Width)*Scale-((double)Size.cy)*Scale;
 Points[6].x=((double)Left)*Scale-((double)Width)*Scale+((double)Size.cx)*Scale;
 Points[6].y=((double)Top)*Scale-((double)Width)*Scale;
 Points[7].x=((double)Left)*Scale;
 Points[7].y=((double)Top)*Scale-((double)Width)*Scale;
 Polygon(Context, Points, 8);
 DeleteObject(Brush);
}
//=====================================================================================================================================================================================================
.

Вернуться к обсуждению:
Положить фигурную скобку на бок и растянуть C++ WinAPI
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2013, 12:06
Готовые ответы и решения:

Сервер неправильно понимает фигурную скобку
(Извините, другого названия для темы не придумал) Добрый вечер, я недавно начал изучать php и по...

Почему при объявлении переменных в классе просит фигурную скобку в конце?
package main; public class Optimizacia { class x { double x=0, eps=0, fx=0, pfx=0,...

не работает 3я строчка просит скобку, ставишь скобку говорит что не нужна
form8.ADOQuery2.Active:=false; form8.ADOQuery2.SQL.Clear; form8.ADOQuery2.SQL.Add('select kod_s,...

Дана 4-х угольная призма со стороной осн. а, найти S осн., S бок. поверхности, S диаг. сеч. Диаг. бок. грани образует с боковым ребром угол а
Всем доброго времени суток! Задача: Найдите площдь диагонального сечения, площадь боковой...

23
27.05.2013, 12:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2013, 12:06
Помогаю со студенческими работами здесь

Как "положить" Expolrer.exe или вызвать/положить любое другое приложение
Я вот написал псевдо троян, для удаленного управления второго компа, ведь лень вставать с одного...

Бок сортировки
Всем привет! Ребята помогите по такой проблеме. У меня не правильно сортируется поле с...

как повернуть массив на бок?
помогите с алгоритмом, который бы вращал произвольную матрицу по часовой стрелке на 90 градусов ...

Pascal. Составить бок-схему.
Program Hello; Var Name: String; BEGIN Write('Как тебя зовут ? '); ReadLn(Name);...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru