|
hello guys
i m new in drawing in vb.net
i want to to draw an ellipse
i found the following function supplied by MSDN
Public Sub FillEllipseRectangle(ByVal e As PaintEventArgs)<br />
<br />
<br />
Dim redBrush As New SolidBrush(Color.Red)<br />
<br />
<br />
Dim x As Integer <br />
Dim y As Integer <br />
Dim width As Integer = 20<br />
Dim height As Integer = 10<br />
Dim rect As New Rectangle(x, y, width, height)<br />
<br />
' Fill ellipse on screen.<br />
e.Graphics.FillEllipse(redBrush, rect)<br />
End Sub<br />
how can i call this function?? what about its parameter?(should i call PaintEventArgs)? ( am i stupid)?
note:x and y values can varies -the user chooses the locations
Regards
Ramy
|
|
|
|
|
besides that :
when the user clicks on a location, an ellipse will be drawn in this location showing him where he clicked
Regards
Ramy
|
|
|
|
|
Will the ellipse be the same size evey time or will the location determine the size?
|
|
|
|
|
let's begin with : the ellipse size is unchangeable(they can be predifined-hardcoded) ,
but the location of the ellipse is at the same place where the user has clicked...showing him where he clicked
Regards
Ramy
|
|
|
|
|
I have two different ideas:
1. Look at creating a custom cursor. I've never needed to create a cursor but it can't be that hard. Then add the new cursor to your project resources and on the on the mouse down event change the cursor and on the mouse release re-new the original cursor.
2. Create the ellipse as a transparent gif within your choice of graphics program, then, add it to your form within design view using the PictureBox control, setting visiable = false. On the mouse down event move the PictureBox to the mouse location and visiable = true, then, mouse release event visiable = false.
Basiclly every control the is displayed on your form has a Paint Event, (this is when the control is displayed) and it will create the PaintEventArgs. To use the function you've found on MSDN, you'd need to customize the form, more or less. If the above answers do NOT help you, please let me know, give me alit bit more information on what this ellipse that is displayed when the user clicks the form and I'll try and help you modify the form.
|
|
|
|
|
My friend,
i would like to thank you
coz the second method works good
So for so good for now,
will msg you later coz i need sght concerning that issue
thx any way
Regards
Ramy
|
|
|
|
|
sorry for bothering again...
Having a client & many servers S1---S17,
The role of the client is to connect simultaneously to these servers and collect data from them
Having a Map I should mark on it:
Location(X-Y pixels) of the server –the locations are already predefined
Ellipse or rectangle…filled with one of the RGB color depending of the collected data
Note more than one ellipse (indicating the location of the switch) can be filled on the map.
So what I m asking: can you help me with a function as the following
Public function (xlocation as integer, ylocation as integer, COLOR as ??)
Create an ellipse at xlocation and ylocation and fill it with COLOR
End function
Regards
Ramy
|
|
|
|
|
I can but I'm serving Jury Duty this week and trying to keep up with my dead-line at work in the evening. If your able to wait I'd be happy to help futher.
Sorry
|
|
|
|
|
I've posted my source code[^] I'm hoping this is what your looking for and there's a ton of room for improvements.
Good luck. Tell me how it turns out.
|
|
|
|
|
Thx for helping
and hope ur doing good in 'Jury Duty'
isnt far away for Computer things...
Error Oppening the solution
'CreateEllispes AreJay code project\textmessenging\bmpregion\bmpregion.csproj is not installed
any way i will see the code
will let u know what will happen
any prob to get ur personnal Email (Msn...)?
Regards
Ramy
|
|
|
|
|
Go directly to the EllipsePilot.vbproj instead of the .sln
bmpregion.dll <- this a dll created by Weiye Chen here on CP
has been added as a reference.
EllipsePilot <- has a MapParker Class and simple example on how-to
|
|
|
|
|
Everything is working fine now
didnt use the DLL until now
THX
-- modified at 16:07 Wednesday 20th December, 2006
Regards
Ramy
|
|
|
|
|
Hello,
Having a map
I want to know if the user has clicked outside or inside the borders of the map
Note that: the image containing the map is chosen as background of the form
So I thought of something
I have drawn the map with the following
RGB =255,255,255 outside the borders
RGB=254,254,254 inside the border
please take a look at this
Dim img1 As Bitmap<br />
Private Sub frmmap1_Load()<br />
img1 = New Bitmap("images\map.jpg", True)<br />
End Sub<br />
Private Sub frmmap1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick<br />
If (img1.GetPixel(e.Location.X, e.Location.Y).R = 255 Then<br />
MsgBox("out")<br />
<br />
Else<br />
MsgBox("in")<br />
End if<br />
End sub
But I m facing problems with that (because the size of img1 is not the same as background of the form
Can I do the same test directly on the background of the form without loading img1-or can i set the image size as the size of the background of the form?
Or is there any other way of thinkin
Happy Holidays
Regards
Ramy
|
|
|
|
|
|
ramy.zip[^]
Made a few adjustments to the application:
1. Move the background image to a Panel to keep the click event on the image only.
2. Added a gray background to the image.
3. Added a true white (ffffff) to the map's selectable area.
Great idea on cloning the background and comparing the pixel colors!
I'm listening but I only speak GEEK.
|
|
|
|
|
thx four help (especially with photoshop thing...)
I would like your help with the following
having drawn an ellipse on a specific location with the code that you have previously provided me,
i would like to have control on that ellipse, means when pressing on the drwan ellipse(mouse Hover) (do action....)
if you refer to the first code you gave me to mark ellipse on map
i found the following code in the DLL of 'Weiye Chen'
else if(control is System.Windows.Forms.Button)<br />
{<br />
Button button = (Button)control;<br />
<br />
button.Text = "";<br />
<br />
button.Cursor = Cursors.Hand;<br />
<br />
<br />
----<br /> Dont know how to benifit from the above code using vb.net 2005
note : i m not using that DLL
do u have any hint for me
Happy New Year
Regards
Ramy
|
|
|
|
|
Change the Panel Control to a Button then dynamic assign names, text and events.
I'm listening but I only speak GEEK.
|
|
|
|
|
AreJay wrote: Change the Panel Control to a Button then dynamic assign names, text and events.
You mean change the ellipse to a button ?
(note: i have many ellipses on the map..)
any help for that?
Regards
Ramy
|
|
|
|
|
hey...
plz answer me ASAP .
coz my project dead line is soon,
all what i want is to let the user click on the drwan ellipse....
thx
Regards
Ramy
|
|
|
|
|
Change the forms MouseClick Event to:
<br />
<span style="color: #0000FF">Private Sub</span> Form1_MouseClick(<span style="color: #0000FF">ByVal</span> sender <span style="color: #0000FF">As Object</span>, <span style="color: #0000FF">ByVal</span> e <span style="color: #0000FF">As System.Windows.Forms.MouseEventArgs</span>) <span style="color: #0000FF">Handles</span> <span style="color: #0000FF">Me</span>.MouseClick</p><br />
<div style="padding-left:10px; "><br />
<span style="color: #009900">' only on the left mouse button</span><br /><br />
<span style="color: #0000FF">If </span>e.Button = Windows.Forms.MouseButtons.Left <span style="color: #0000FF">Then</span><br />
<div style="padding-left:10px; "><br />
<span style="color: #009900">' new instance of random to spice up the pilot</span><br /><br />
rand = <span style="color: #0000FF">New</span> Random()<br /><br />
<span style="color: #009900">' Creating a new instance of the MapMarker Class<br /><br />
' passing a randomly generated color </span><br /><br />
mm = <span style="color: #0000FF">New</span> MapMarker(Color.FromArgb(rand.Next(0, 255), rand.Next(0, 255), rand.Next(0, 255)))<br /><br />
<span style="color: #009900"> ' Calling the MarkerPanel Function<br /><br />
' And passing the mouse clicks location on the form</span><br />
<span style="color: #009900"> ' Create an instance of the new panel</span><br /><br />
<span style="color: #0000FF">Dim</span> p <span style="color: #0000FF">As</span> Panel = mm.MarkerPanel(<span style="color: #0000FF">CInt</span>(e.Location.X - (mm.MyWidth / 2)), <span style="color: #0000FF">CInt</span>(e.Location.Y - (mm.MyHeight / 2)))<br /><br />
<span style="color: #009900">' Name the new panel</span><br /><br />
p.Name = <span style="color: #CC0000">"key_" </span>& markerList.Count + 1<br /><br />
<span style="color: #009900">' This is adding the control to a collection for futur reference</span><br /><br />
markerList.Add(p.Name, mm)<br /><br />
<span style="color: #009900">' Add Event Handlers to handle the on click events</span><br /><br />
<span style="color: #0000FF">AddHandler</span> p.Click, <span style="color: #0000FF">AddressOf</span> Ellipse_Click<br /><br />
<span style="color: #009900">' Adding the newly create Panel Control to the form</span><br /><br />
<span style="color: #0000FF">Me</span>.Controls.Add(p)<br />
</div><br />
<span style="color: #0000FF"> End If</span><br />
</div><br />
<span style="color: #0000FF">End Sub</span><br />
Add the following Event to the form:
<br />
<span style="color: #0000FF">Private Sub</span> Ellipse_Click(<span style="color: #0000FF">ByVal</span> sender <span style="color: #0000FF">As Object</span>, <span style="color: #0000FF">ByVal</span> e <span style="color: #0000FF">As</span> System.EventArgs)<br /><br />
<div style="padding-left:10px; ">MsgBox(CType(sender, Panel).Name)</div><br />
<span style="color: #0000FF">End Sub</span><br />
Update the MapMarker Class with:
<br />
<span style="color: #0000FF">Dim</span> p <span style="color: #0000FF">As New</span> Panel<br /><br />
<span style="color: #0000FF">With</span> p<br /><br />
<div style="padding-left:10px; "><br />
.BackgroundImage = <span style="color: #0000FF">CType</span>(m_bmp, Image)<br /><br />
.Location = <span style="color: #0000FF">New</span> Point(xCoord, yCoord)<br /><br />
.Size = <span style="color: #0000FF">New</span> Size(m_width, m_height)<br /><br />
.Cursor = Cursors.Hand <br /><br />
<span style="color: #009900">''''''''''''''''''''''''''''''<br /><br />
'.AllowDrop = True<br /><br />
' Customize the panel as needed<br /><br />
''''''''''''''''''''''''''''''</span></div><br />
<span style="color: #0000FF">End With</span><br />
I'm listening but I only speak GEEK.
|
|
|
|
|
Hi,
I am using the following code to put all of the mp3 files in the Album directories into an array. This works fine, but what if there were more subdirectories, how can I change this code so that the the computer scans every single directory and subdirectory in f:\mp3 ?
Dim strFolder As String = "f:\mp3"
For Each strArtist As String In My.Computer.FileSystem.GetDirectories(strFolder)
For Each strAlbum As String In My.Computer.FileSystem.GetDirectories(strArtist)
For Each strFile As String In My.Computer.FileSystem.GetFiles(strAlbum)
If strFile.Substring(strFile.Length - 3) = "mp3" Then
objArraylist.Add(strFile)
End If
Next
Next
Next
Sorry if this is a silly question, but I've only been working with VB.Net for 3 months!
Thanks
|
|
|
|
|
I had to do something similiar (find every directory\file path for a server) and came up with the following code. You may be able to modify it for what you need:
Dim strpath As String = "f:\mp3" 'Your starting path
Dim BaseDir As New DirectoryInfo(strpath)
Dim DirListing() As DirectoryInfo
DirListing = BaseDir.GetDirectories()
Dim tmpFI As FileInfo
Dim tmpdir As DirectoryInfo
For Each tmpdir In DirListing
For Each tmpFI In BaseDir.GetFiles()
'Preforn your check and whatnot
Next
Next
David
|
|
|
|
|
Just set the FileIO.SearchOption , like so:
My.Computer.FileSystem.GetDirectories(strAlbum, FileIO.SearchOption.SearchAllSubDirectories)
|
|
|
|
|
Excellent work.
Thanks
So easy, with such a small piece of code.
I did also have to use the next line of code to build a list of the directories, if anyone else needs to use it.
Dim dir As ObjectModel.ReadOnlyCollection(Of String)
dir = My.Computer.FileSystem.GetDirectories("f:\mp3",FileIO.SearchOption.SearchAllSubDirectories)
|
|
|
|
|
Hello,
I can view report with crystal report viewer but I want remote users be able to view and print the report using Internet explorer. In order to do that, I need to export crytal report into html programmaticaly. So that when a user click on a button, the report can be viewed in html format.
How Can I do it using vb.net?
Thank you in advance.
programmer
|
|
|
|