|
Hi,
How can I caputure OnClick event for Progress Bar Control?
I have an dialog based application with some progress bars. I would like to do something when user clicks (or double-clicks) on progress bar, but there is no OnBnClicked event available when I select progress bar control.
I have only 4 events available for this control:
NM_CUSTOMDRAW
NM_OUTOFMEMORY
NM_RELEASEDCAPTURE
NM_THEMECHANGED
Is there a way to do it?
I'm using Visual Studio 2010 and MFC.
|
|
|
|
|
CProgressCtrl is derived from CWnd, so you can add mouse handler to it.
Just derive your own class from CProgressCtrl and handle WM_LBUTTONDOWN, WM_LBUTTONUP , ...
I'd rather be phishing!
|
|
|
|
|
|
i am developing a win32 database application( in c language compild with vc++ 9.0 compiler). The provider is oledb. To design
the GUI i used the controls from comctrl32.lib as usual. But now i want to make a custome skin to my application.I had searched a lot in internet about what i want. And what i got is some forum relating WINLIFT for power basic, and also some c codes which are not self explanatory and wll only work under msvcrt 10.00 runtime.Actually i dont have a good machine to program and also for beating compatiblity issues of ma developng software with older systems i stick on to develope that project in vs2008 IDE . Now the second major result i got after googling is abt customizing WM_PAINT message in the callback procedure..
My Questions are the followng?
1) Is anybody know atleast basic designing of winlift here or people work with associatd libraries here, if so please give a helping hand for me to design a pro GUI
2)if anybody has a working knowldge abt GUI design in making original window transparent and putting our own custom made photoshoped GUI skins it wil be fine..
3)if the reader doesnt know abt the above mentioned things, please try to help me in what ever idea u know to tweak the GUI with a basic working example, such that i can get a insight for where to change my code, i had completed almost 1700 lines of code in the database project, now its impossible to go for finding new things to make GUI better because am running out of time to submit the project.:
thanks and regards
|
|
|
|
|
|
thank u very much, i will try it after finishing the naked code of the database application, and it seems like an understantable code,anyway , if u get more tuts regarding the topic please be kind to spare it here..
|
|
|
|
|
Since your question is such a broad one, and only you really know what you are looking for, it would be a much better idea for you to do some research, via Google.
Veni, vidi, abiit domum
|
|
|
|
|
Hello there,
I am making a dialog app using CDHtmlDialog and all the controls are done using HTML.
Now i want to call/display this dialog inside a web browser like IE.
How can i do that?
If i could generelaize this question -
Is it possible to display a dialog app that is derived from CDialog inside IE?
If possible, how to do that?
Thanks in advance.
|
|
|
|
|
The rules for web browsers is that they are not allowed to run executables on the client's system, so I do not think this is possible.
Veni, vidi, abiit domum
|
|
|
|
|
can we work with c++ with out any header file. like iostream etc. If posible give example
|
|
|
|
|
You can but it makes no sense in most cases. An example:
int main(int argc, char *argv[])
{
int res = 0;
for (int i = 1; i < argc; i++)
{
int j = 0;
while (argv[i][j])
res += argv[i][j++];
}
return res;
}
|
|
|
|
|
Do you know why you have header files?
If you do you will rralise you can of course write code without them.
|
|
|
|
|
I am student of bscs 1st semester. this question arise in my mind because when we working with header files thn we should memorize name of all header files and function related to these files . if we able to do programing with out using these files, I think its better to learn more and practice more.
|
|
|
|
|
Sadaf Rehman Najmi wrote: because when we working with header files thn we should memorize name of all header files and function related to these files You trade such a little effort for a whole bunch of state-of-art functionality.
Veni, vidi, vici.
|
|
|
|
|
Don't you think that if it would be easier without header files, that millions of coders before you hadn't found out about that a long time ago?
The memorization isn't an issue: In C++ the usual way of organizing your code is that you use one header file for the declaration of each class, and one corresponding source file for the implementation of each class. You use the same base name for the header file and the source file, only the suffix is different!
Moreover, you normally use an integrated development environment (IDE), which helps you organize your program, much like a file explorer. It will help you jump from a given variable or type or class in your code directly to the location in your code where it's defined. You really don't need to memorize anything!
The application I work on has more than 3 million lines of code and consists of several thousand files - I don't even try to memorize where everything is! That is what the IDE does for me. And it works: If someone reports a bug I can usually locate the rough area of code where something goes awry within 10-20 minutes - even if I've never seen that code before!
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)
|
|
|
|
|
As suggested above, yes you can.
However, it's entirely pointless to do so! Include files help you organize your program in managable chunks, and let you use preexisting libraries, including all system functions. Likewise, if your program itself provides useful functions, you can put your function declarations into a header file so others can use it too.
Which begs the question: why are you even asking?
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)
|
|
|
|
|
Stefan_Lang wrote: why are you even asking? Probably an interview question.
Veni, vidi, abiit domum
|
|
|
|
|
Yes you do this in C++ but its not a good approach we should always include header files in our programs. Its a good practice.
|
|
|
|
|
Hi,
Kindly let me know, How do I change the torus color into Red instead Grey color and what command lines are required to do the same.
Thank you
Here are codes:
#include <gl/glut.h>
#include <stdlib.h>
static int spin=0;
void init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glShadeModel(GL_SMOOTH);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
}
void display(void)
{
GLfloat position[] = {0.0, 0.0, 1.5, 1.0};
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glPushMatrix();
glRotated((GLdouble) spin, 1.0, 0.0, 0.0);
glLightfv(GL_LIGHT0, GL_POSITION, position);
glTranslated(0.0, 0.0, 1.5);
glDisable(GL_LIGHTING);
glutWireCube(0.0);
glEnable(GL_LIGHTING);
glPopMatrix();
glutSolidTorus(0.275, 0.85, 8, 5);
glPopMatrix();
glFlush();
}
void reshape (int w, int h)
{
glViewport(0,0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(40.0, (GLfloat) w / (GLfloat) h, 1.0, 20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void mouse(int button, int state, int x, int y)
{
switch(button)
{
case GLUT_LEFT_BUTTON:
if(state == GLUT_DOWN)
{
glEnable(GL_LIGHTING);
spin = (spin + 30) % 360;
glutPostRedisplay();
}
break;
default:
break;
}
}
void keyboard(unsigned char key, int x, int y)
{
switch(key)
{
case 27:
exit(0);
break;
}
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("My Torus with Mouse Click");
glutDisplayFunc(display);
init();
glutReshapeFunc(reshape);
glutMouseFunc(mouse);
glutKeyboardFunc(keyboard);
glutMainLoop();
return 0;
}
|
|
|
|
|
M Riaz Bashir wrote: glutSolidTorus(0.275, 0.85, 8, 5);
Wild guess. Three of these four parameters represent RGB colors. For RED, you will have value 255, 0, 0. So try following line, or play with these paramaters using hit n try.
glutSolidTorus(255, 0, 0, 0);
This world is going to explode due to international politics, SOON.
|
|
|
|
|
Hello, I am making a Ball Breaker game and i have got some unusual crsh error in main when i call b.fill_bricks(); and when i press esc button it crashes.if i use it without class,everything works fine but in class it won't.Plz give me a solution.
#include <allegro.h>
BITMAP *buffer;
class Bricks {
public:
int bricks_array[4][5];
void display_Bricks();
int fill_bricks();
};
int Bricks::fill_bricks()
{
for(int i = 0;i<4;i++)//layer
{
for(int j = 0;j<10;j++)//brick_no
{
bricks_array[i][j] = 0;
}
}
return 0;
}
void Bricks::display_Bricks()
{
int x=50,y=25;
for(int i = 0;i<4;i++)//layer
{
for(int j = 0;j<10;j++) //brick_no
{
if(bricks_array[i][j] == 0)
{
rect(buffer,x,y,x+100,y+50,makecol(225,225,225));
}
x += 50;
}
y += 25;
x = 50;
}
}
void init();
void deinit();
int main() {
init();
Bricks b;
b.fill_bricks();
acquire_screen();
b.display_Bricks();
draw_sprite(screen,buffer,0,0);
release_screen();
while(!key[KEY_ESC]){}
//deinit();
return 0;
}
END_OF_MAIN()
void init() {
int depth, res;
allegro_init();
buffer = create_bitmap(640,480);
clear(buffer);
depth = desktop_color_depth();
if (depth == 0) depth = 32;
set_color_depth(depth);
res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
if (res != 0) {
allegro_message(allegro_error);
exit(-1);
}
install_timer();
install_keyboard();
install_mouse();
/* add other initializations here */
}
void deinit() {
clear(buffer);
clear_keybuf();
/* add other deinitializations here */
}
|
|
|
|
|
You have defined bricks_array[4][5] , but then you try and fill 4 rows each of 10 columns, so you are corrupting some memory.
for(int i = 0;i<4;i++){
for(int j = 0;j<10;j++) {
bricks_array[i][j] = 0;
}
}
Veni, vidi, abiit domum
|
|
|
|
|
thanks..i never got attention at that point..such a silly mistake. But thanks. Its working fine now.
|
|
|
|
|
An easy mistake, but most programmers I know have made it a few times in their lives. Using constants to set the values helps to avoid issues such as this, for example:
static const int ROWS = 4;
static const int COLUMNS = 5;
BITMAP *buffer;
class Bricks {
public:
int bricks_array[ROWS][COLUMNS];
void display_Bricks();
int fill_bricks();
};
int Bricks::fill_bricks()
{
for(int i = 0; i < ROWS; i++) {
for(int j = 0; j < COLUMNS; j++)
Veni, vidi, abiit domum
|
|
|
|
|
I have a window created with CreateWindowEx, with a caption. When I load the text using EM_STREAMIN the opening line of the text goes into the caption, replacing the intended title. How do I prevent this, so as to retain the intended caption ?
|
|
|
|
|