Solved

how to display icon/picture in memo?

Posted on 2001-08-28
12
255 Views
Last Modified: 2010-04-06
i want to display an icon in a memo... you can see something like this in Yahoo!Messenger
using a memo is just my idea, if anybody can do the same thing (like in Yahoo!Messenger) using any other object... please submit your advice, thnks....
0
Comment
Question by:eddie_kho
12 Comments
 
LVL 3

Expert Comment

by:Slavak
Comment Utility
use TRichEdit
0
 

Author Comment

by:eddie_kho
Comment Utility
slavak:
i've tried and read the help files, but still not found any related topics to solve this problem...
would u please more specific about using TRichEdit?
0
 
LVL 2

Accepted Solution

by:
bugroger earned 200 total points
Comment Utility
Hi,
 try this!
 It's a TRichEdit freeware component that let you add
 a bitmap:
 http://www.torry.net/vcl/edits/rich/richview.zip

GL
 Bug
0
 
LVL 3

Expert Comment

by:rondi
Comment Utility
use a TBitmap, load/draw the bitmap, copy to the
clipboard, then use RichEdit1.PasteFromClipboard.

It goes a little somethin like this:

var
  b:TBitmap;
begin
  b := TBitmap.Create;
  b.LoadFromFile('c:\msngrpic.bmp');
  Clipboard.Assign(b);
  RichEdit1.PasteFromClipboard;
  b.Free;
end;
0
 

Author Comment

by:eddie_kho
Comment Utility
rondi:
it doesn't work

......
......
picTemp := TBitmap.Create;
form1.imagelist1.GetBitmap(1,picTemp);
image1.Canvas.Draw(0,0,picTemp);
Clipboard.Assign(picTemp);
richedit1.PasteFromClipboard;
......
......

the image1 display the icon i meant to be, but the icon doesn't displayed on the richedit1
0
 

Author Comment

by:eddie_kho
Comment Utility
rondi:
it doesn't work

......
......
picTemp := TBitmap.Create;
form1.imagelist1.GetBitmap(1,picTemp);
image1.Canvas.Draw(0,0,picTemp);
Clipboard.Assign(picTemp);
richedit1.PasteFromClipboard;
......
......

the image1 display the icon i meant to be, but the icon doesn't displayed on the richedit1
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:eddie_kho
Comment Utility
rondi:
it doesn't work

......
......
picTemp := TBitmap.Create;
form1.imagelist1.GetBitmap(1,picTemp);
image1.Canvas.Draw(0,0,picTemp);
Clipboard.Assign(picTemp);
richedit1.PasteFromClipboard;
......
......

the image1 display the icon i meant to be, but the icon doesn't displayed on the richedit1
0
 

Author Comment

by:eddie_kho
Comment Utility
rondi:
it doesn't work

......
......
picTemp := TBitmap.Create;
form1.imagelist1.GetBitmap(1,picTemp);
image1.Canvas.Draw(0,0,picTemp);
Clipboard.Assign(picTemp);
richedit1.PasteFromClipboard;
......
......

the image1 display the icon i meant to be, but the icon doesn't displayed on the richedit1
0
 
LVL 4

Expert Comment

by:delphi3
Comment Utility
Could I ask both eddie and the others?

What versions of delphi are you using?

Delphi3
0
 

Author Comment

by:eddie_kho
Comment Utility
i'm using d5
0
 
LVL 4

Expert Comment

by:delphi3
Comment Utility
eddie_kho,

I have asked about  this image and memo a while back. Things haven't changed. It is still a 'can't do'
with a Memo.

Here is a copy of what I got from before:

********** copied

From: edey
                                                                          Date: 09/09/2000 02:44PM PST
                There are some enhanced
                 TRichEdits that can handle this though, you can find one here:

                 http://www.trichview.com/

                 other alternatives are trying html instead (though most html controls don't let you edit the text well)
                 and ole controls that might, say, let you insert a word doc.

                 GL
                 Mike

                  Comment

                 From: edey
                                                                          Date: 09/07/2000 06:20PM PST
                 you _could_ save the _visible_ text as an image, but I'm not shure that's what he wants

                 GL
                 Mike

                  Accepted Answer

                 From: edey
                                                                          Date: 09/07/2000 01:30PM PST
                 the problem is that the memo doesn't actually contain the bmp - you've merely painted it on.  To save
                 as part of the memo's content you'd have to change controls to something that supports it.  You could
                 try something like an html renderer, or an enhanced richedit, but TMemo does not natively support this.
                  The closest I can imagine is to hack out you own parser  for load/save to file that would check for
                 images in the data file, and before you know it you've written an entire word proccessor :(

                 Gl
                 mike

                  Comment

                 From: VVT
                                                                          Date: 09/08/2000 08:01AM PST
                 You can think about a solution using a special TRichEdit control instead

                  Comment

                 From: delphi3
                                                                          Date: 09/07/2000 11:15PM PST
                 Mike and others,
                 I was looking to put them into one save but apparently that is not possible from what I read above.

                 I am still thinking that I may/must  have 3 saves
                 1. the image.
                 2. the text.
                 3  the position of the image on the memo.
                 but for the moment it is very late for this attempt so I will try in about 4-6 hours.

                 On the otherhand, Mike, what are you suggesting?
                 Do you have something in mind? I have a model  that one writes on the image and it is all together as
                 one there and saved. But there again  that is not an image on a memo and with text not on the image.


                 Delphi3.

                  Comment

                 From: delphi3
                                                                          Date: 09/08/2000 09:39PM PST
                 Hi
                 Thanks to you all for helping out.
                 I gave the points to Mike as he made the first observations that this is impossible. I cannot see why
                 someone would ever want to paint the bmp on a memo other than the curiosity of doing it.

                 I have tried the saving the text, and the image and the position of the image,and  in that sense I can
                 put it all back but the moment I try add more  text ever thing fails.


                 So thanks to all again,

                 Delphi3

********** End of copied

I have D4 standard edition.  And even with RichEdit  I can't get an image to stick.
I have Win2k. I have decided to look at what does work (an image and text) on my computer
and tried to work that. Recently I have downloaded this and it allows me to work with Word.

http://support.microsoft.com/support/kb/articles/Q229/3/10.ASP

And today I worked with a 'safe call' to call 'WordPad'.

procedure TForm1.Button1Click(Sender: TObject);
var
  Str1, Str2, Totalcmdline: string;
begin
  Str1 := 'C:\...\Windows NT\Accessories\WordPad.exe';
  Str2 := ExtractFilePath(Application.exeName) + 'FormS.rtf';
  Totalcmdline := str1 + ' "' + str2 + ' "';
  Cprocess(Totalcmdline, Self);
end;

procedure TForm1.Cprocess(sExecuteFile: string; Sender: TObject);
var
  pi: TProcessInformation;
  si: TStartupInfo;
begin
  FillMemory(@si, sizeof(si), 0);
  si.cb := sizeof(si);
  CreateProcess(nil, PChar(sExecuteFile), nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, si, pi);
  // close up shop...
  closeHandle(pi.hProcess);
  closeHandle(pi.hThread);
end;
 
If you want more details please comment me back.

Delphi3
0
 
LVL 17

Expert Comment

by:geobul
Comment Utility
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

accept bugroger's comment as answer

Please leave any comments here within the next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

Thanks,

geobul
EE Cleanup Volunteer
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now