|
Christian Graus wrote: you get more control by handling your own paint event.
Agreed. In fact I think I say you have to hook the paint event.
I just say it was not a bad choice.
My previous project, I had a background image with a rail network superimposed drawn from user data which is static during the animation. I drew it in a Picturebox. Used a Picturebox method to save a temp copy of the static train network. I then loaded the image and animated little train traversing the network. All I had to do was update the trains. I got a good framerate with GDI and since I hooked the resize event to redraw the network it always look right. Why does it have to show only static images? Really, if you want to draw stuff, no control is that great. That why there is DirectX and OpenGL.
So what are you disagreeing with? I just saying, there are some case where it might be appropriate. You can treat it like a control for layout purposes, use its native methods, etc...
Like you said.
Henry Minute wrote: You can do drawing on the surface of practically any .NET control
Sorry, Wrong Person.
And yes VB sucks...
Regards,
ARon
|
|
|
|
|
ARon_ wrote: So what are you disagreeing with? I just saying, there are some case where it might be appropriate. You can treat it like a control for layout purposes, use its native methods, etc...
Yeah, that is true. I am just accustomed to seeing people use a picturebox to try to be something it's plainly not. And, I would still animate by drawing directly to the form. Perhaps it's just my MFC days talking, tho.
Christian Graus
Driven to the arms of OSX by Vista.
Please read this[ ^] if you don't like the answer I gave to your question.
"! i don't exactly like or do programming and it only gives me a headache." - spotted in VB forums.
|
|
|
|
|
|
You can't use more than one instance of a SoundPlayer and have them all playing at the same time. You'll have to use the MediaPlayer component to play the background sound and use the SoundPlayer to play your button click sounds.
|
|
|
|
|
I believe (from previous research a while ago) it can be done with DirectX. I've never attempted it so I can't offer any working samples/articles but adding that into your search terms may yield some useful results.
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
You can use:
1) DirectX 9 Managed Wrapper which I understand to be obsolete
using Microsoft.DirectX.AudioVideoPlayback;
...
BackgroundMusic = new Audio(fileName, false);
BackgroundMusic.Play();
and
using Microsoft.DirectX.DirectSound;
...
public class Sound : IDisposable
{
private static Device SoundDevice;
private SecondaryBuffer MyBuffer;
...
public static void Initialize()
{
SoundDevice = new Microsoft.DirectX.DirectSound.Device();
SoundDevice.SetCooperativeLevel(Form.Handle, CooperativeLevel.Priority);
}
...
public Sound(string AudioFileName)
{
BufferDescription desc = new BufferDescription();
desc.Flags = BufferDescriptionFlags.ControlPan | BufferDescriptionFlags.ControlVolume |
BufferDescriptionFlags.ControlFrequency;
MyBuffer = new SecondaryBuffer(AudioFileName, desc, SoundDevice);
}
...
MyBuffer.Play();
Go to DigiPen Webcast[^] Puc The Pirate - Hour 11
2) OpenAL, I don't have an example but there are example in the Toa Framework[^]
ARon
|
|
|
|
|
Hi,
I am trying to set/get the text of my RichTextBox, but Text is not among list of its properties when I want to get test.Text...
I am using code behind in C# (.net framework 3.5 SP1)
RichTextBox test = new RichTextBox();
cannot have test.Text(?)
Do you know how come it can be possible ?
thanks,
|
|
|
|
|
RichTextBox [^] dont have Text property?!
I Love T-SQL
"Don't torture yourself,let the life to do it for you."
If my post helps you kindly save my time by voting my post.
|
|
|
|
|
There was a confusion between RichTextBox in System.Windows.Forms and in System.Windows.Control
I am using the one in the Control as I am using WPF. In there, there is no Text property, and in order to get a text, I should have used this line:
string myText = new TextRange(transcriberArea.Document.ContentStart, transcriberArea.Document.ContentEnd).Text;
thanks
|
|
|
|
|
WHY DOEST THIS WORK?
RegistryKey RegKeyWrite = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\SystemRestore");
RegKeyWrite.OpenSubKey("DiskPercent");
RegKeyWrite.("DiskPercent",0);
RegKeyWrite.Close();
|
|
|
|
|
Maybe you don't have permission to edit the registry?
What is the exception being thrown?
|
|
|
|
|
Thank you for your Reply,
No exception is being thrown just trying to set a value to the registry
Guess I'll have to figure out how to give my program permission to set values in the registry
Regards
Rick
|
|
|
|
|
rick0557 wrote: WHY DOEST THIS DIDN'T WORK?
Open regedit.exe
and check if the following reg key exist !
HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\SystemRestore\\
and if it's not , then replace
OpenSubKey with
CreateSubKey
P.S
Always use
CreateSubKey it's try to open the key and if it's not exist then create it .
I know nothing , I know nothing ...
|
|
|
|
|
rick0557 wrote: RegKeyWrite.("DiskPercent",0);
You've not specified a method. SetValue may be relevant
rick0557 wrote: RegKeyWrite.OpenSubKey("DiskPercent");
You should be assigning the result of this invocation to RegKeyWrite
Between the idea
And the reality
Between the motion
And the act
Falls the Shadow
|
|
|
|
|
Registry KEYS are the folders you see in RegEdit.
Registry VALUES are the named items in the folders (Keys).
I think you're looking for something more like:
RegistryKey RegKeyWrite = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\SystemRestore");
RegKeyWrite.SetValue("DiskPercent",0);
RegKeyWrite.Close();
|
|
|
|
|
Thank You for your answer
Tried it but that did change anything either.
Guess I'll have to give my program permission to set values in the registry
Regards
Rick
|
|
|
|
|
You don't give your "program" permissions to the registry. Your application runs as YOU, or the person or ID that launched it. If you don't have permissions to change that value, you have to use a higher level user account, like an Admin account.
If you're running the code under a normal user account, just about the entire HKEY_LOCAL_MACHINE hive is off-limits. If you're code is not just swallowing the exceptions, your code should have thrown an Access Denied error, or something very similar.
|
|
|
|
|
Thank You for your reply,
Got it figured out. just one of those rookie mistakes.
your origional solution was right on the mark.
worked just fine once I got my head around it.
Regards
Rick
|
|
|
|
|
Is there a way to iterate through a string of text and find each occurence of a string that contains a substring of "{" + (variable string) + "}" and replace it with a corresponding string defined in a dictionary (of which the key value is the "{" + (variable string) + "}" ??
|
|
|
|
|
string OldStr = "Application";
string NewStr = "Program";
string str = @"Run the Application , Close the Application and Delete the Application";
str = str.Replace(OldStr, NewStr);
I know nothing , I know nothing ...
|
|
|
|
|
Thanks.. I used that in a loop and put all the key values as the string to be replaced
|
|
|
|
|
Yes.
I suppose you'll want a hint as to how!
If the string is formatted such that { and } only occur as a wrapper to a variable name then the easiest way I can think of is to run a regex on it, match all "\{[^\}]\}" and iterate through them.
If not you'll probably have to write a lexer of some kind.
10110011001111101010101000001000001101001010001010100000100000101000001000111100010110001011001011
|
|
|
|
|
This is a good solution too, thx
|
|
|
|
|
Given that you have the text in the text variable and the replacements in the replacements dictionary:
text = RegEx.Replace(text, @"\{(.+?)\}", m => replacements[m.Value]);
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Can anyone see what I'm doing wrong here?
All I want to do is generate a password with htpasswd.exe and it looked
easy enough but it just gets stuck at ReadLine()
ProcessStartInfo ps = new ProcessStartInfo();
ps.FileName = Path.Combine(Application.StartupPath, "htpasswd.exe");
ps.Arguments = "-n test";
ps.CreateNoWindow = true;
ps.UseShellExecute = false;
ps.RedirectStandardInput = true;
ps.RedirectStandardOutput = true;
ps.RedirectStandardError = true;
Process proc = new Process();
proc.StartInfo = ps;
proc.Start();
proc.StandardInput.WriteLine("testing");
proc.StandardInput.WriteLine("testing");
string line = proc.StandardOutput.ReadLine();
proc.Close();
|
|
|
|