|
Rozis wrote: The book Programming windows of charles Petzhold explains it pretty well
I agree, all his books are really good. The version I had was Programming windows 3.1, which is a bit old now!
|
|
|
|
|
Maybe i can help you...
sashoalm wrote: This problem might be because 256-color/16-color bitmaps don't use RGB values. May be they use palettes somehow.
Only 24-bit bitmaps use no colortable, each pixel is 3 bytes in memory being 8 bits for red, 8 for green and 8 for blue. Transparency is implemented as an extension on this: instead of 3 bytes it uses 4 bytes for a pixel (8 bits for transparency level called 'Alpha'). 256- and 16-color bitmaps use a colortable.
TransparentBlt() has 2 levels of transparency: global and per pixel. Global transparency will make all your pixels - for example - 50% transparent. This only works for 24- and 32-bits bitmaps.
Per pixel transparency uses the setting of the alpha. So a 32-bitmap is required. With this you can set the transparency per pixel. One thing to know is that pixel-transparency expects your values for RGB are 'pre-multified', meaning:
alpha:=.. // alpha holds the alpha of the pixel
factor:=alpha/255
r:=r*factor
g:=g*factor
b:=b*factor
I'm not sure what your problem exactly is but i bet the solution is to 'transform' the bitmaps to a 24-bit version. With CreatecDIbitmap() you can do this...
Rozis
|
|
|
|
|
|
vtech22 wrote: As a final project...
...and have no clue were to even start
So where did you start with the other non-final projects?
Who gave you this assignment?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
|
vtech22 wrote: ...they just told me what to do...
And you don't have access to any of those past projects?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
nope after each assignment is done she takes them and thats the last we see of any of them (personally i think she's not that great of a teacher anyway all she ever said was read the book and that deffinitly doesnt help when you already dont know whats going on)
|
|
|
|
|
So none of this looks familiar:
void main( void )
{
printf("1) Option 1\n");
printf("2) Option 2\n");
printf("3) Option 3\n");
printf("4) Some other menu\n");
printf("5) Exit\n\n");
int nChoice = 0;
do
{
printf("Option: ");
scanf("%d", &nChoice);
} while (nChoice >= 1 && nChoice <= 4);
}
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
vtech22 wrote: personally i think she's not that great of a teacher
You'd be surprised (but I wouldn't) how often this excuse is trotted out as some sort of reason why we should do other people's work. Maybe you should have taken her advice and read some books, or even the notes you made of each assignment.
|
|
|
|
|
|
You're in college now studying computers in some technical fashion and didn't already know simple programming when you started? Way behind the curve.
You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
|
|
|
|
|
vtech22 wrote: ive read every chapter shes told us to read. yeah i understand what there saying in the book but the book we were required doesnt so much as teach you how to code as tell you the different names for things and why there used if my assignment was to right the deffinitions to different programming terms id have no problem
OK, so the teacher was useless and the book is useless, so you now have two reasons why you think we should do your work for you. May I suggest you try a simpler course, more in keeping with your abilities and willingness to learn.
|
|
|
|
|
Hello,
I need to have a hor. scrollbar, even if there are not enough columns to fill the window. By starndard it disappears in this situation.
Can anyone help?
Thanks, GE
|
|
|
|
|
gerens wrote: ...even if there are not enough columns to fill the window.
What would you expect it to do in this situation?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
He probably wants to have the scrollbar shown all the time. When there are not enough columns to fill the window, the scrollbar is just disabled but still shown.
|
|
|
|
|
I have a CListView with fixed columns on the left side. Works fine with the keyboard. But if I scroll at the end of my list, I cannot scroll back to the beginning with the mouse (because the scrollbar is not shown).
Thanks, EG
|
|
|
|
|
gerens wrote: But if I scroll at the end of my list...
You indicated earlier that there are not enough columns to fill list control, so what's to scroll?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
An example:
I have 8 columns. 2 of them fixed, 6 others shown and 2 outside the window.
If I scroll one column to the left, everything is ok. HScrollbar is showm and I can scroll back.
If I scroll two columns to the left, all columns are now within the window, the HScrollbar disappears and I csn't scroll back with the mouse (only with the keyboard).
Of course it would be a solution to always fill the window with empty colums (like in Excel), but I hope there is another way.
Thanks, GE
|
|
|
|
|
Hi,
If there 2 windows T1 and T2. How T1 will notify T2 by sending a message?
How 2 achieve this 1) if they are child and parent windows or
2) both are independent windows
Thanks in advance
MSR
|
|
|
|
|
Message can be sent to a window using SendMessage or PostMessage .
Both these functions take the handle of the destination window as a parameter.
So as long as you have the handle to a destination window, it doesn't matter if the windows are independent or have a parent-child relationship.
|
|
|
|
|
There's SendMessage[^] (which blocks until the recipient window process the message and returns a value) and there's PostMessage[^] which is a non-blocking call and therefore returns immediately. Based upon your requirements, choose one.
Additionally, RegisterWindowMessage[^] would help you register a unique message, which you might want to post or send.
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
Hi,
I have my CListBox, and it is displaying different groups of data. I would like each group header to be emboldened, but I am struggling to get any bold text.
If I had a CListCtrl I could use OnCustomDraw, but that functionality doesnt appear available to either my CListBox, or the parent Dialog.
What I want to achieve is this
Header1
Data1
Data2
Header2
Data1
Data2
Any help would be much appreciated
TIA
Tony
|
|
|
|
|
What you can do is to use owner-draw listbox:
• Derive a class from CListBox and override CListBox::MeasureItem(), CListBox::DrawItem(), and PreCreateWindow() (to add LBS_OWNERDRAWFIXED or LBS_OWNERDRAWVARIABLE).
• Create an object of this class and call its Create() or CreateEx() function to create this control.
Note:
The parent of this list box will get one WM_MEASUREITEM for the whole list box if LBS_OWNERDRAWFIXED is used or one WM_MEASUREITEM for each item of the list box if LBS_OWNERDRAWVARIABLE is used. MFC will call the virtual function CListBox::MeasureItem(). The parent also gets WM_DRAWITEM, while MFC calls the virtual function CListBox::DrawItem(). Although the above two messages are sent to the parent, the virtual functions make it possible to handle some useful things by the list box. Through overriding these two functions, the self-controlling of the drawing process can be achieved for the list box.
|
|
|
|
|
|
Thanks for the link Superman, but that seems to relate to CListCtrl whereas I'm using a CListBox
Tony
|
|
|
|