Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как освободить память? https://www.cyberforum.ru/ cpp-beginners/ thread121661.html
подскажите как правильно освободить память,спасибо заранее))) #include "stdafx.h" #include <stdio.h> #include <string.h> #include <conio.h> #include <stdlib.h> struct zap //объявление...
Как правильно проинициализировать массив вручную? C++
Здрасти. как правильно проинициализировать массив в ручную? а то у меня ошибка main.cpp|60|error: expected primary-expression before '{' token| std::string capitalDigit(int& number){ const...
распаковка gzip, deflated ответа сервера C++
Пишу простой чат, который работает через html основу. Столкнулся с проблемой: в запросе серверу отправляю Accept-Encoding: gzip, deflated и дальше не могу распаковать содержимое ответа. Пробовал...
C++ Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы. Приветик всем.Немогли бы вы мне написать эти 2 програмки Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы. Написать и протестировать функцию,... https://www.cyberforum.ru/ cpp-beginners/ thread121601.html
C++ В заданном двумерном массиве n*m поменять местами строку с номером k столбец с номером p этого массива https://www.cyberforum.ru/ cpp-beginners/ thread121590.html
Помогите с задачей! В заданном двумерном массиве n*m поменять местами строку с номером k столбец с номером p этого массива.
зачем нужен "&" ? C++
Встретил в книге Р.Лафоре в примере непонятную мне вещь. зачем нужен "&" в данной конструкции? Distance& dist = *(new Distance) почему бы не написать Distance dist = *(new Distance)
Портировать из C# на С++ C++
Здравствуйте, не могли бы вы мне помочь портировать данный код под С++: static void Main(string args) { var files = new DirectoryInfo("maps").GetFiles("*.map"); ...
C++ Cтроки Люди, пожалуйста, кто чем может помогите. Тут тема "Cтроки" Задача 1 «Калькулятор» В первой строке записано арифметическое выражение в виде: <число> <операция> <число> = Число - это натуральное... https://www.cyberforum.ru/ cpp-beginners/ thread121565.html
C++ Посоветуйте литературу для изучения https://www.cyberforum.ru/ cpp-beginners/ thread121541.html
учусь на программиста) хочу хорошо освоить язык "С" какую литературу можете посоветовать? заранее спс)
C++ Строки и пробелы Как считать строку содежащюу пробелы? Читаю из файла ifstream'ом. Пробывала и по символам и целиком, все равно не читает до конца. Как быть? https://www.cyberforum.ru/ cpp-beginners/ thread121537.html
0 / 0 / 0
Регистрация: 17.03.2009
Сообщений: 20
0

Прозрачный фон.

26.04.2010, 21:06. Просмотров 1780. Ответов 6
Метки (Все метки)

Здравствуйте, помогите пожалуйста. Моя программа создает диалоговое окно но оно создается с прозрачным фоном и почему-то при нажатии на кнопку новый объект ничего не происходит. Код программы:
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#include <windows.h>
#include <stdio.h>
#include "resource.h"
 
UINT cur=1; 
int x0,y0,rad0,r0,g0,b0;
HINSTANCE hi0;
 
class Oval
{
private: int xc,yc,rad,R,G,B;
        
public:
     static int n;
    Oval(){ xc=0; yc=0;rad=0;R=0;G=0;B=0;}
    void set(int x, int y, int ra, int re, int gr, int bl)
    {
        xc=x; yc=y; rad=ra; R=re; G=gr; B=bl;
    }
 
    double perimetr()
    {
        return 3.14*2*rad;
    }
    double ploshchad()
    {
        return 3.14*rad*rad;
    }
    void set_colour(int nR,int nG,int nB)
    {
        R=nR; G=nG; B=nB;
    }
 
    void Init(int nxc,int nyc, int nrad, int nR,int nG,int nB)
    {
        xc=nxc; yc=nyc; rad=nrad; R=nR; G=nG; B=nB;
    }
 
    void display(HDC hdc, int cur)
    {
        HBRUSH b1,b0;
        b1=CreateSolidBrush(RGB(R,G,B)); // кисти
        b0=(HBRUSH)SelectObject(hdc,b1); // текущая кисть
        Ellipse(hdc,xc,yc,xc+2*rad,yc+2*rad);
        wchar_t buf[20];
        swprintf(buf,L"%d",cur);
        TextOut(hdc,xc,yc,buf,wcslen(buf));
        SelectObject(hdc,b0);
        DeleteObject(b1);
    }
 
};
int Oval::n=0;
Oval mas[20];
 
int WINAPI ab(HWND hwnd,int cmd,WPARAM wp,LPARAM lp)
{
    switch(cmd)
    {
    case WM_INITDIALOG:
        {
        SetDlgItemInt(hwnd,CHISLO,cur,true);        
        SetDlgItemInt(hwnd,X,100,true);
        SetDlgItemInt(hwnd,Y,200,true);
        SetDlgItemInt(hwnd,Radius,20,true);
        SetDlgItemInt(hwnd,NRed,255,true);
        SetDlgItemInt(hwnd,NGreen,255,true);
        SetDlgItemInt(hwnd,NBlue,255,true);
        }
        
    case WM_CLOSE:
        {
        x0=GetDlgItemInt(hwnd,X,NULL,true);
        y0=GetDlgItemInt(hwnd,Y,NULL,true);
        rad0=GetDlgItemInt(hwnd,Radius,NULL,true);
        r0=GetDlgItemInt(hwnd,NRed,NULL,true);
        g0=GetDlgItemInt(hwnd,NGreen,NULL,true);
        b0=GetDlgItemInt(hwnd,NBlue,NULL,true);
        EndDialog(hwnd,3);
        
        return 1;
        }
        case WM_COMMAND:
        if(LOWORD(wp)==IDOK)
        {
            SendMessage(hwnd,WM_CLOSE,0,0);
            return 1;
        }
        return 0;
    }
    return 0;
};
 
 
 
int WINAPI fn(HWND hwnd,int cmd,WPARAM wp,LPARAM lp)
{
    switch(cmd)
    {
    case WM_INITDIALOG:
    { 
        SetDlgItemInt(hwnd,Nomer,1,true);
        SetDlgItemInt(hwnd,Red,0,true);
        SetDlgItemInt(hwnd,Green,0,true);
        SetDlgItemInt(hwnd,Blue,0,true);
 
        return 1;
    }
    case WM_COMMAND:
    {
        switch (LOWORD(wp))
        {
            case New_item:
            {
                cur=GetDlgItemInt(hwnd,Nomer,NULL,true);
                int r=DialogBox(hi0,MAKEINTRESOURCE(DIALOG2),NULL,(DLGPROC)ab);
                mas[cur].set(x0,y0,rad0,r0,g0,b0);
            }
            case Set_color:
            {
                int nr=GetDlgItemInt(hwnd,Red,NULL,true);
                int ng=GetDlgItemInt(hwnd,Green,NULL,true);
                int nb=GetDlgItemInt(hwnd,Blue,NULL,true);
                mas[cur].set_colour(nr,ng,nb);
            }
 
        }
        return 1;
    }
    case WM_CLOSE:
    {
        EndDialog(hwnd,1);
        return 0;
    }
 
    case WM_SIZE:
    {
            InvalidateRect(hwnd,NULL,RDW_ERASE);
        return 1;
    }
   
    case WM_PAINT:
    {               
        PAINTSTRUCT ps;
        HDC hdc=BeginPaint(hwnd, &ps);
                
        RECT rt;
        GetClientRect(hwnd, &rt);   
        
        for(int i=0;i<Oval::n;i++)
            mas[i].display(hdc, i);
 
 
 
        EndPaint(hwnd, &ps);
        return 1;
    }
 
    }
    return 1;
}
 
 
int WINAPI WinMain(HINSTANCE hi,HINSTANCE,LPSTR,int) 
{
    hi0=hi;
    return DialogBox(hi,MAKEINTRESOURCE(DIALOG),NULL,(DLGPROC)fn);
}
Добавлено через 5 часов 0 минут
Помогите пожалуйста

Добавлено через 2 часа 41 минуту
У диалогового окна остаются видны только кнопки и эдиты остальное прозрачно.

Добавлено через 22 часа 1 минуту
,,,,,,,

Вернуться к обсуждению:
Прозрачный фон.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2010, 21:06
Готовые ответы и решения:

Прозрачный фон у RaddioButton
Скажите пожалуйста как можно зделать прозрачный фон.Например для Label есть Transparent.

Прозрачный прокси сервер
помогите написать прозрачный прокси сервер http https для windows

Прозрачный фон иконки и фон диалогового окна
Делаю всё в VS 2010, mfc! 1)Как поставить вместо стандартного фона диалогового окна, свой фон,...

Прозрачный фон
Можно ли как то изменить фон с белого на прозрачный? т.е. картинку без фона?

6
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.