|
You could always expose the relevant methods to be used via COM interop.
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
thanks!
but how can I do that?
I'm not very experienced with dlls
|
|
|
|
|
Having several million lines of Delphi under my belt... I would advise you not even to try.
There is masochistic... and then there is very masochistic. But even worse... there are giant steps backward in time.
For efficient executables, I recommend moving to MS VC++. If you can live with the "performance" of .Net, go for C#.
|
|
|
|
|
PS. The reason you cannot import the library is it is not compatible with Delphi/Win32.
|
|
|
|
|
ie. To program with the library, it must be a .BPL ("Borland Package Library"). If it were a generic Win32 .dll, you could (otherwise) call into it.
|
|
|
|
|
Hi all,
i want to change color of tab control there is no property to change backcolor.
its there for individual tab pages.
but color of tab buttons remains same
thanks
vivek
vivek
|
|
|
|
|
Have you tried inheriting a new class from TabControl, then doing some custom painting in the OnPaint or OnPaintBackground methods?
|
|
|
|
|
Dear Mazy,
Coloring of the datagrid cell was very very helpful in my recent project.
That's really great.
thank u
warm regards
raja
|
|
|
|
|
That's nice, but why is this a separate thread?
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Is it possible to create a Form which fades from a colour to transparent?
I thought the code below would work to create a round form which fades from a colour through to transparent - but it actually fades to the colour of the transparency key?
This works perfectly to fade from one color to another and gives a nice round form...but the alpha value dosen't appear to be doing what I expected. I've tried various values for the colour but none of them give what I was expecting
Thanks
OnPaint
base.OnPaint(e);<br />
<br />
Graphics g = e.Graphics;<br />
<br />
g.SmoothingMode = SmoothingMode.AntiAlias;<br />
Rectangle rect = new Rectangle(1, 1, this.Width - 1, this.Height - 1);<br />
Rectangle rect2 = new Rectangle(rect.X + 1, rect.Y + 1, rect.Width - 1, rect.Height - 1);<br />
<br />
GraphicsPath myPath = new GraphicsPath();<br />
myPath.AddEllipse(rect2);<br />
PathGradientBrush brush2 = new PathGradientBrush(myPath);<br />
brush2.CenterColor = Color.LightSteelBlue;<br />
brush2.CenterPoint = new Point(rect2.X + 75, rect2.Y + 75);<br />
<br />
Color myColor = Color.FromArgb(25, this.TransparencyKey);<br />
Color[] colors = { myColor};<br />
brush2.SurroundColors = colors;<br />
g.FillEllipse(brush2, rect2);<br />
<br />
g.SmoothingMode = SmoothingMode.Default;<br />
Brush linBrush = new LinearGradientBrush(rect, Color.DarkGoldenrod, Color.LightGoldenrodYellow, LinearGradientMode.ForwardDiagonal);<br />
Pen myPen = new Pen(linBrush, 3f);<br />
g.DrawEllipse(myPen, rect);
(I added the border elipse just for clarity)
|
|
|
|
|
You can change the opacity of a whole form using Form.Opacity, where 0 is completely transparent, and 1 is completely opaque.
AFAIK, you cannot do per-pixel transparency. It's a long time limitation of GDI, I believe. If you absolutely need per-pixel transparency, look into the new UI toolkit from Microsoft, WPF.
|
|
|
|
|
Actually, no, you *can* do transparent gradients. Paint your gradient to a bitmap and use a ColorMatrix and ImageAttributes to paint it to the background image of your form.
ColorMatrix colorMatirx = new ColorMatrix( );
colorMatirx.Matrix00 = 1;
colorMatirx.Matrix11 = 1;
colorMatirx.Matrix22 = 1;
colorMatirx.Matrix33 = ( float )( 1.0f / ( float )f_OpacityValue );
ImageAttributes imageAttributes = new ImageAttributes( );
imageAttributes.SetColorMatrix( colorMatirx );
|
|
|
|
|
Also, you *can* do per pixel transparency with SetPixel. I do it all the time.
|
|
|
|
|
I am not sure that gradient fills are intended to support transformations of alpha (but it is possible they will). If you can live with one alpha value for the whole fill, see my other post to your thread.
Otherwise, try tidying up your brush declaration. Change:
Brush linBrush... to:
LinearGradientBrush linBrush...
I am not terribly optimistic this will rectify your issue, but it's always a good idea to avoid pushing anything the wrong way when you're trying to get something that pushes the edge to work.
|
|
|
|
|
One other point, and I have to get out of here...
There are alternate ways of painting which accomplish the same result as "transparency." I call a technique I use, "Argb Averaging." Essentially, what you do is take the backgound color and average your foreground color toward its Argb value.
|
|
|
|
|
Actually, I don't see that you're assigning the transparent/alpha color and performing a fill.
|
|
|
|
|
The last bit of code is just to see where the edge was - thats why the brush declaration is quick and dirty!
As for the fill with Alpha:
Color myColor = Color.FromArgb(25, this.TransparencyKey);<br />
Color[] colors = { myColor};<br />
brush2.SurroundColors = colors;<br />
g.FillEllipse(brush2, rect2);<br />
I thought this would take the current color of the transparency key (in this case it's actually SystemColors.Desktop) and then apply an alpha of 25 to it (close to transparent, but not entirely).
This code works for an elips drawn on top of a single colour form, e.g. as an extra circle on a square form, but not when it "is" the form, if you see what I mean.
Thanks.
|
|
|
|
|
Hi,
I've written a simple mail program tha sends email using default network credentials.
Is there a way to receive confirmation that a recipent actually received a message i sent?
For instance, Outlook recieves a message that says that email not been sent due to some reason and i would like som feedback to my program!
I use .NET 2.0 and Syste.Net.Mail namespace
Thanks !
|
|
|
|
|
Only by processing the mailbox that you marked the message as being From. SMTP is a store-and-forward protocol - you don't necessarily (or typically) get a direct connection to the destination server that holds the end-user's mailbox, and even if you did it doesn't have to tell you honestly whether it's stored the message.
Exchange Server in its default configuration accepts all messages at an SMTP conversation level, and places them in an 'incoming messages' queue. Only then does it perform directory lookups to find out if it has a mailbox for this message and if so, store the message. If it doesn't, it instead generates a 'non-delivered report' which is then sent to the sender of the message.
|
|
|
|
|
Ok, i hope i understand what you meant
The server that doesn't find a the recipient for an email that sends a 'non-delivered report' back to me; is there a way in System.Net.Mail to catch this message as a notification for me?
Thanks!
|
|
|
|
|
Hi *.*,
I need to dynamically create a printer port (LPR port) and set that port to a existant printer. Actually there is another little 'problem': The LPR port might not be available on that system, but I still need a remote program (controlled via ActiveX) to print via LPR from any system to my own process, like a lokal loopback printer.
I cannot print to file on any local or remote filesystem due to security restrictions, but I am able to open a port to receive the printing filestream.
What is the correct approach to do this?
Or, second option: What do I have to do if I want to simulate a network printer, i.e. saying let the application print to a network printer on IP '127.0.0.1' and listen on port 9100 to get the data. What protocol do I have to implement (need real good documentation) or, yet better: is there already a reference implementation?
--
Do you have the right problem for my solutions?
|
|
|
|
|
Hello...
I have a server using TcpListener. Then I have also client using TcpClient.
The problem is : If I unplugged the network cable from server, then I try to send data from client to server, my TcpClient said "it is ok". But physically there is no connection between client and server.
My client said "it is NOT ok" only if I close all the connection in server (NetworkStream, TcpClient, and TcpListener). Otherwise is OK.
How can I solve the problem ?
Thanks...
|
|
|
|
|
There will always be buffering between client and server. TCP sends retries repeatedly until the Maximum Segment Lifetime (MSL, about two minutes typically) is exceeded or until the far end replies with an ACK (to accept the data) or a RST (reset) packet, indicating that the listening program isn't responding. If MSL is exceeded, or RST is sent, you'll get an error when you try to send data.
If you close the connection on the server side, the server's TCP stack will send a RST in response to unexpected data from the client because it no longer has a socket to deliver the data to.
You can't do anything about this - it's just how TCP works.
|
|
|
|
|
i have to use the same port for receiving and transmitting. i have two threads running. how do i control them meaning how is suspending thread of VC applied here in C#?
|
|
|
|
|
Thread.Sleep will suspend the current thread.
|
|
|
|