|
Hi,
Okay, I found this article on MSDN that discusses this problem:
http://support.microsoft.com/default.aspx?scid=kb;en-us;130691
Unfortunately I'm relatively new to coding C++, and I don't know how to go about implementing the advice given in that article.
From the article:
"To work around this problem, subclass the edit control in response to the TVN_BEGINLABELEDIT notification that is sent by the tree view control when the tree view is about to start label editing for an item. To obtain the edit control's window handle, send the tree view control a TVM_GETEDITCONTROL message.
The subclass procedure should handle the WM_GETDLGCODE message by returning DLGC_WANTALLKEYS. This allows the tree view's subclass procedure to handle ESC and ENTER keystrokes."
So, if I understand correctly, I need to subclass my tree view control here:
<br />
if(((LPNMHDR)lParam)->code == TVN_BEGINLABELEDIT)<br />
{<br />
hEdit=TreeView_GetEditControl(hTree);<br />
}<br />
If anybody could tell me how to subclass this and handle the WM_GETDLGCODE message accordingly, I would be very grateful. (_NON-MFC_ ) Sorry if this is a really basic question.
Many thanks,
KB
|
|
|
|
|
Hi,
I have a listbox in my _non-MFC_ dialog-based app, and I need to have a horizontal scrollbar for when the text extends out of the listbox. I know that you have to set LB_SETHORIZONTALEXTENT to get this to work (why oh why didn't they make it as easy as the vertical scrollbar?), but I have had no joy in getting it to work. I guess that this is what I need to do:
1) Whenever items are added to the listbox, or the listbox is resized, find the longest string (using strlen()).
2) Calculate the width of that string in pixels.
3) Set LB_SETHORIZONTALEXTENT to the calculated number.
Steps 1 and 3 are easy, but it's step 2 I have problems with. How can I find the width in pixels of the longest string? The only examples I can find are all written in MFC, which doesn't help as I can't find the equivalent non-MFC functions (eg. CDC::GetTextExtent).
I anyone can tell me how to find the width of a string in a listbox in pixels without using MFC, or just tell me how to get the horizontal scrollbar working in a non-MFC listbox, I would be very grateful.
Many thanks,
KB
|
|
|
|
|
|
Thanks! That is exactly what I needed. I found a function using that API call along with LB_SETHORIZONTALEXTENT here:
http://www.catch22.org.uk/tuts/dirlist.asp
that does exactly what I needed, with a few minor qualifications.
Thanks again, your help is much appreciated,
KB
|
|
|
|
|
Hi
I have been looking at some of the examples that show how to use tabCrtl. The thing is that I found some where the dialogs were Cdialog instead of of being managed by a tabCtrl class. I now know how to do them (Thanks folks). One problem is that when using the key 'tab', I am not able to move to the different windows. Has anybody solve this problem?
Also tried one that was using stricly tabCtrl classes, but now don't know how to use the events when a button is pressed.
Could anybody share an example of a program that uses tabCtrl and has some buttons with a function behind?
Thanks.
rubencmos@hotmail.com
|
|
|
|
|
I have a dialog that is dll. This dll gets launched by a COM server control. For some reason, the dialog when it gets launched cannot be repositioned. The dialog's controls work, but I cannot move the dialog. I have tried to interrogate the dialogs "IsEnabled" accessor - it returns true. What is the atribute of the dialog that is controlling this behavior?
Thanks
|
|
|
|
|
Try MoveWindow() and/or SetWindowPos().
Kuphryn
|
|
|
|
|
I have alreay tried that. When the dialog comes up, it's controls are active - I just can't reposition the dialog by clicking on it and dragging the mouse. It seems that it is frozen over it's parent. This dialog is wrapped in a different dll than the parent.
Any additional help is certainly appreciated
Thanks!
|
|
|
|
|
Hi,
I was wondering if MFC has anything like a JTextArea in java swing which will allow me to have multiline text to show in that control, because in edit control I can't see the whole text.
Please let me know
|
|
|
|
|
The CEdit control has a multiline property that will allow you to display multiple lines.
Artificial intelligence is no match for natural
stupidity. small>
|
|
|
|
|
Hi,
I looking for a possibility to access (read and write) the information tags (like tilte, author, subject and so on) of a JPG file.
Thanks, Thorsten
|
|
|
|
|
Check Davide Pizzolato's Cexif[^] library.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hey this link is really cool.
But I need to know how to write data to a JPG.
Further I have to access (read/write) the file information shown under file properties in Windows, e.g. Title, Subject, Author and so on.
Thorsten
|
|
|
|
|
Pull from the thread Davide's library is a wrapper for a library called exif which possibly has the ability to write to a JPEG as well as reading. It might contain info on the particular tags you're interested. Good luck.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
thowa wrote:
Further I have to access (read/write) the file information shown under file properties in Windows, e.g. Title, Subject, Author and so on.
You'll want to use StgOpenStorageEx() to access that information.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
Where are you seeing such information (i.e., I've not know graphic files to contain such information)? While the JPEG didn't define a format per se, a de-facto standard is JFIF (JPEG File Information Format). Unfortunately, I'm unable to find a good read on it. The few available from www.wotsit.org were of no help.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
The link given by Joaquín M López Muñoz contains again another link[^].
There you might find more information...
|
|
|
|
|
Sorry, I might have misunderstood you.
Windows XP offers a tab in teh file properties, where the user can view/edit these fileds.
(Unfortunately I cannot post a screenshot here, can I?)
Thorsten
|
|
|
|
|
thowa wrote:
Windows XP offers a tab in teh file properties, where the user can view/edit these fileds.
As does Windows 2000. It's the Summary tab of the Properties dialog.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
Hi:
I don't know if this is still the same - but I think I ran into this problem a while ago. The JPEG standard itself is only for compression using DCT methods - it has nothing to do with storing of information about the image. I had this problem when trying to extract the height and width of the image - there is no data stored in a header - there is no header - it is just compressed data and as far as I can tell the width and height are determined from the structure of the data at a later time. You can get TIFF files that surround the JPEG compression and have very rich tag content then but the jpg file - so called - is just data. It may be that people are now calling this TIFF file a JPG file - which is now really confusing things.
|
|
|
|
|
I am writting a simulation program that represents components using images (bitmaps) in MFC. There can be several on the screen at a time. I didn't want to change the bitmap size every time the user wanted to zoom in or out in the view.
I am using SetWindowExt and SetViewportExt to do view scaling...works fine except the when I zoom out (bitmaps get smaller than actual size) the bitmaps begin to look bad. Does anyone know how to do the view scaling so that the bitmaps don't look so bad while zoomed out. I know that there are algorithms that can do bitmap scaling, but I wanted to avoid rescaling every bitmap each time the user changes view scales.
Gary Kirkham
A working Program is one that has only unobserved bugs
I thought I wanted a career, turns out I just wanted paychecks
|
|
|
|
|
Wich APIs are you using for drawing the bitmaps? In the past I've used DrawDib functions[^] and they were far superior than good old BitBlt and familiy.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
TransparentBlt
Gary Kirkham
A working Program is one that has only unobserved bugs
I thought I wanted a career, turns out I just wanted paychecks
|
|
|
|
|
The bitmaps look bad because you start getting sampling artifacts in the windows scaling. It works like this: if you scale down to 5x then it is just going to select one pixel in the 5x5 block. That one pixel is going to have very little in common with the pixel selected in the adjascent 5x5 block - so the image you get is terrible looking. What you need is something that quickly does a bilinear scaling on the original image. You can test this out by going to a graphics software taking an image and scaling it down using various options. The only problem is that this can be slow, maybe too slow for your purposes.
|
|
|
|
|
Hi, there:
I am a new guy to Win32 API. Maybe my question sounds a little stupid.
I have built a display window, which use Win32 graphic API for graphic rendering. Now I need to create a configurable dialog box by using mouse click. By "configurable", I mean that dialog box will be created based on some information obtained from the mouse event, such as coordinates. But I have 2 problems:
1. in the WinProc function, inside the WM_LBUTTONDOWN message section. I use "DialogBox()" function call to generate the dialog box. I have a resource file built by using VC++ 6.0. Is it right way? Do I need to use "GetModuleHandle" function call first to generate hInstance before "DialogBox"? But it doesn't work. When I click the mouse left button. Nothing comes up.
2 in most of tutorials I read, diglog box generation highly depend on the resource file and is invoked by commands, processed in WM_COMMAND section. Are there any other ways to create and configure the dialog box? For example, by mouse clicking, I can have the coordinates. Now I want to create a dialog box, inside which there are a check box that use the coordinates as the caption name.
Thanks a lot! I am waiting online.
|
|
|
|