|
I have a headerfile for my strings and variables to use with my whole project. But I don't know, how to define or declare the similar for images...Iam facing the problem like the below...
For Strings....Below is good
#define MY_STR "My Value"
public:
System::Drawing::Image^ MyMainImge=System::Drawing::Image::FromFile("C:\\MyPrgCodes\\Images\\MyMenuImage.jpg");
error C3145: 'MyMainImge' : global or static variable may not have managed type
Any Ideas for me? Thanks
|
|
|
|
|
You are trying to declare and implement a variable without any context for it to exist within. Firstly the declaration needs to be inside a class, and secondly the implementation needs to be inside a constructor or other class function.
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
Thanks Richard![Rose | [Rose]](https://codeproject.global.ssl.fastly.net/script/Forums/Images/rose.gif)
|
|
|
|
|
I’m creating a window’s form application that will have a series of “do it” buttons and a large scrollable text area for feedback.
The feedback might be something like:
Item 1 completed
Item 2 completed
Warning: I had problems
Item 3 completed
Error: That was a serious problem
Item 4 failed
Item 5 completed
During the feedback I’d want to highlight words like Warning and Error so they pop out.
I tried using a RichTextBox, but it really only allows one selection at a time. I can highlight “Warning” on the fly, but when I try to then highlight “error” I change the selected area and “Warning” goes back to standard text.
My thought was to create a WebBrowser object instead of a RichTextBox object, then format it with HTML. But I can’t seem to find the right syntax to create the browser object, not give it a URL, then be able to build the HTML code on the fly from within my program.
Anyone know of the proper way to create a scrollable text box where I can format the text on the fly as my process runs?
|
|
|
|
|
There are many ways to achieve something like that, from simple to very complex:
1.
use a ListBox in OwnerDrawn mode; that will easily allow you to have a homogeneous style for each line of text, meaning you could simply have a line in red, or in a bold font, or ... . An example can be found here[^].
2.
Use a RichTextBox, and make sure to use it correctly. Which means:
- add text, select text, set properties for selected text, unselect;
- rinse and repeat.
3.
Use a WebBrowser; build an HTML document in memory, and assign it to the browser's DocumentText property.
4.
Create your own control, from scratch (based on UserControl or, my preference, Panel); paint everything yourself, and teach it any trick you want.
|
|
|
|
|
1. many times I want words in the line to be different, not entire lines.
2. I've looked for ways to "unselect" and the only thing I've found is to select from the end, size 0.
The problem I get is ever time I select a new area to highlight, it un-highlights the previous area.
3. I've tried the WebBrowser approach, it is the most promising. I can create anythign I like with it.
I used the WebBrowser->Document->Write( HtmlCode ) to add lines to the control and all is great -- almost.
My problem is I can't find a way to clear the control for the next "do it" run of the process.
It just keeps appending to the end of what is alreay there.
4. This might be my only answer, but I'd like to avoid it.
|
|
|
|
|
RTB unselect = SelectionLength zero
RTB coloring is by applying ForeColor/BackColor to text while it is selected; it is NOT the highlighting you get while one piece of text is selected, that merely indicates what is selected, it isn't permanent.
I suggest you search and read some CP articles on text editing in RTBs.
WebBrowser.DocumentText is what is needed in a WB.
|
|
|
|
|
Have you overlooked the Multiline property of the RichTextBox? I don't know what the default is but if the RichTextBox is the same as a TextBox then you need to set it to true.
The WebBrowser control and HTML are a little confusing to use initially but they are very useful and worth learning. I wrote the article Introduction to Web Site Scraping[^]. It mostly goes the other direction in the sense of getting from HTML not putting it but it is probably useful for you too.
|
|
|
|
|
Hi,
Actually its my first project in VC++2010. Right now Iam converting my project from C# to VC++2010. In VB.Net I used Modules to use my Public variables and functions to my whole project. And in C# samething I used classes to declare the same accessed in every forms.
Similarly Now I want to use it in VC++2010.. For that any Samples & Codes will be useful for me..
Thanks For the ideas.
|
|
|
|
|
Paramu1973 wrote: in C# samething I used classes to declare the same accessed in every forms.
It's just the same in C++.
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
Thanks Richard...![Rose | [Rose]](https://codeproject.global.ssl.fastly.net/script/Forums/Images/rose.gif)
|
|
|
|
|
I would like to store a value to a Excel cell
But iits giving error
MyXLWorkSht->Cells[2,2]->Value=="PARAMU";
Error: C2039: Value is not a member of System::Object
Thanks
|
|
|
|
|
Actually I did mistake with Worksheet declaration, and I altered as like the below, then its get solve.
Let it be useful someone like me...
Microsoft::Office::Interop::Excel::Worksheet^ MyXLWorkSht
Earlier
MyXLWorkSht=MyXLApp->ActiveSheet;
Now Ichanged it as
Microsoft::Office::Interop::Excel::Worksheet^ MyXLWorkSht
= static_cast<Microsoft::Office::Interop::Excel::Worksheet^>( MyXLWorkBook->Worksheets->Item[1]);
|
|
|
|
|
Actually its my first time Iam trying to write some data from datatable to excel sheet. For that I need to add Microsoft.Office.Interop.Excel...
Any Ideas ?
Thanks & Regards
PARAMU![Rose | [Rose]](https://codeproject.global.ssl.fastly.net/script/Forums/Images/rose.gif)
|
|
|
|
|
Start here[^].
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
In my c++ project, I use cutePDF to print in non-interactive mode(no save-as dialog) by using GDI print API. The sample code is like below,
DOCINFO di;
ZeroMemory( &di, sizeof(DOCINFO) );
di.cbSize = sizeof(DOCINFO);
di.lpszDocName =L"My_PDF_File";
di.lpszOutput=L"c:\\My_PDF_Folder\\My_PDF_File.pdf";
pDC->StartDoc( &di );
CutePDF geneates PS instead of PDF file. Does anyone know why and how to make it work?
Cheers
Susan
|
|
|
|
|
Check your CutePDF installation includes Ghostscript which is the process that does the actual conversion. See also here[^].
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
Hi,
I need to use "not Managed C++/CLI class" in a Managed C++/CLI class. But I got the "not supported" error message.
Is there a way to do following?
--------------------------------------
class A (){};
public ref class B()
{
A a; <----- not supported
}
-------------------------
Thanks
|
|
|
|
|
You could store a pointer to an "A" object in an IntPtr[^].
Mark Salsbery
|
|
|
|
|
Thank you very much for the reply. Could you write some sample code?
Best,
|
|
|
|
|
Just a guess, something like...
class A (){};
ref class B()
{
public:
IntPtr APtr;
}
B ^b = gcnew B();
b->APtr = (IntPtr)new A();
A *a = (A*)b->APtr;
Mark Salsbery
modified 26-Nov-11 15:01pm.
|
|
|
|
|
Hi,
I need to convert a "void*" pointer to a managed class. How can I do it?
Soppose:
----------------
void * pClass
ref class A {};
A^ pA = pClass; <---- compile error
---------------------
Best,
|
|
|
|
|
Maybe something like...
System::Runtime::InteropServices::GCHandle gch = System::Runtime::InteropServices::GCHandle::FromIntPtr((System::IntPtr)pClass);
A ^pA = (A ^)gch.Target;
Of course, this assumes pClass was obtained from an IntPtr obtained from an actual managed reference to an "A" object...
Mark Salsbery
|
|
|
|
|
|
Thank you for your reply.
The classes can not be cast between "Managed" and "un-managed".
Best,
|
|
|
|