I have a CEdit control on a dialog. I want to write a text in, and to make the edit box resizable, so the text will be stretched or compressed accordingly.
How can I do it?
Is there a control other than CEdit which enables this option?
MFC does not provide an automated way of handling resizing... there are several additions which can help you. See also:
http://www.codeproject.com/Articles/568/CResizableDialog
http://www.codeproject.com/Articles/262517/Using-WTLs-Built-in-Dialog-Resizing-Class-for-MFC
Related
I've added the "Launch program" checkbox on the final card of the installer, but for some reason WiX is placing the checkbox below the custom bitmap instead of on top of it with the other text. Can someone point me in the right direction to getting the checkbox directly below the other text instead of below the background image?
I followed the tutorial on this page to add the checkbox: https://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html
I came across this page on the WiX toolset docs. Basically, it says that the checkbox with the grey background is a common complaint and there's a workaround mentioned, but not a way to remove the background.
And a common complaint: no, the checkbox can't have a transparent background. If you have a bitmap in the background, it will be ugly, just like in our example above. The only workaround is to reduce the width of the checkbox to the actual box itself and to place an additional static text (these can be made transparent) adjacent to it.
EDIT (for completeness): It looks like my initial guess on what was going on with the bitmap image wasn't accurate, based on the above-quoted page. Closing this as answered.
We would like to change the font, color and size of the text displayed in message boxes.
Can/how do you VBA this?
Nothing tried, we are not finding any help in online manuals, including the Microsoft help site.
We would like to make the message box big, bold and loud.
Easy answer: You can't.
That's why you can't find anything about it in the official documentation of the MsgBox function.
A workaround can be to create your own UserForm where you are free in how to style it.
Add a UserForm in your workbook's code module, and configure it with as many Label and CommandButton controls as needed.
If the label text will be static, you can configure these all through the Properties window in the IDE:
Labels, Command Buttons, etc., are accessible Controls on the UserForm, and can be altered dynamically during runtime if needed, e.g., during the form's Initialize or Activate or any other event handlers. Controls on the form can even alter other controls, for example you could leverage the command button's Click event handler to modify the text associated with Label1 control, etc.
You can even add (or remove) controls (labels and such) dynamically, too, and fully control their appearance/formatting/etc.
I want to display tamil font in mfc dialog . How to achieve it?
Not completely clear what you want to do, but CWnd has a SetFont() method that you can use. You can use that to set the font of the various controls on the dialog. You will probably need to call it for each control on your dialog.
There's some good info here: http://technet.microsoft.com/en-us/library/cc753194.aspx
I'm using a CMFCLinkCtrl in my custom dialog that inherits from CDialog. The CMFCLinkCtrl is set dynamically using data that is set by the user in another part of the application, so I have to handle long urls.
Is there a way to have the link control truncate what is displayed in the dialog and add an ellipse to the end? Currently the control is wrapping to the next line when it is too long to fit in the dialog or sees the "//" in the http://.
Static controls have an SS_ENDELLIPSIS style that does exactly what you want, but unfortunately this won't work with CMFCLinkCtrl which is derived from CButton. So you have two choices:
Use a static control with the SS_ENDELLIPSIS style, but you'll have to set the text colour and font yourself, and handle click events and open the URL manually.
Subclass CMFCLinkCtrl and add custom drawing code to add the ellipsis.
I think you're out of luck. You'll have to do what casablanca said or without subclassing truncate the text yourself (calculate the font size and link control size) and set it using SetWindowText.
You can easily resize the control to contain the entire text using SizeToContent, but I don't think this works for you.
I am in process of creating a dialog IDD_DIALOG2 which i want to be in the same size as existing dialog IDD_DIALOG1, what would be the easiest way to do this in VC++?
Just resize in design view. The dialog's size shows up in the status bar.
(you could also edit the .rc file and copy the 4 numbers that follow the dialog's ID)
The sane way would be to look up the IDD_DIALOG1's dialog definition and use the same sizes.
If you don't have access to IDD_DIALOG1's dialog definition, you could bring up IDD_DIALOG1, use GetWindowRect() on it to record its actual size, close it, open IDD_DIALOG2, and then use MoveWindow() to resize to the same size. Not generally recommended, but it's possible.
It's possible to copy & paste the dialog in the Resource View - all the controls come with it also.