[ borovac @ 27.11.2004. 20:43 ] @
1. Da li je moguće da na message dialogu mjesto OK piše nešto drugo?
2. Kako mjenjati volume posebno za WAVE, MIDI, AUX, MICROPHONE,LINEIN...?
[ bancika @ 27.11.2004. 21:40 ] @
1) probaj funkciju CreateMessageDialog iz dialogs unita...prekopiraj je celu u svoju formu i promeni red gde stoji

Code:

Windows.DrawText( canvas.handle,
            PChar(LoadResString(ButtonCaptions[B])), -1,
            TextRect, DT_CALCRECT or DT_LEFT or DT_SINGLELINE or
            DrawTextBiDiModeFlagsReadingOnly);


u nesto tipa

Code:

Windows.DrawText( canvas.handle,
            'Hello Fanta', -1,
            TextRect, DT_CALCRECT or DT_LEFT or DT_SINGLELINE or
            DrawTextBiDiModeFlagsReadingOnly);


i zameni jos na par mesta gde se javlja Caption za dugmice u ono sto ti treba

2) ne bih znao :)

pozdravi
[ burex @ 27.11.2004. 23:09 ] @
Probaj ovo:

Code:

function SetMicrophoneVolume(bValue: Word): Boolean;
{ Private declarations }


function Tform1.SetMicrophoneVolume(bValue: Word): Boolean;
var                          {0..65535}
  hMix: HMIXER; 
  mxlc: MIXERLINECONTROLS; 
  mxcd: TMIXERCONTROLDETAILS; 
  vol: TMIXERCONTROLDETAILS_UNSIGNED; 
  mxc: MIXERCONTROL; 
  mxl: TMixerLine; 
  intRet: Integer; 
  nMixerDevs: Integer; 
begin 
  // Check if Mixer is available 
  nMixerDevs := mixerGetNumDevs(); 
  if (nMixerDevs < 1) then 
  begin 
    Exit; 
  end; 

  // open the mixer 
  intRet := mixerOpen(@hMix, 0, 0, 0, 0); 
  if intRet = MMSYSERR_NOERROR then 
  begin 
    mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE; 
    mxl.cbStruct := SizeOf(mxl); 

    // get line info 
    intRet := mixerGetLineInfo(hMix, @mxl, MIXER_GETLINEINFOF_COMPONENTTYPE); 

    if intRet = MMSYSERR_NOERROR then 
    begin 
      ZeroMemory(@mxlc, SizeOf(mxlc)); 
      mxlc.cbStruct := SizeOf(mxlc); 
      mxlc.dwLineID := mxl.dwLineID; 
      mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME; 
      mxlc.cControls := 1; 
      mxlc.cbmxctrl := SizeOf(mxc); 

      mxlc.pamxctrl := @mxc;
      intRet := mixerGetLineControls(hMix, @mxlc, MIXER_GETLINECONTROLSF_ONEBYTYPE);

      if intRet = MMSYSERR_NOERROR then 
      begin 
      { 
       // Microphone Name 
          Label1.Caption := mxlc.pamxctrl.szName; 

        // Min/Max Volume 
        Label2.Caption := IntToStr(mxc.Bounds.dwMinimum) + '->' + IntToStr(mxc.Bounds.dwMaximum); 
      }
        ZeroMemory(@mxcd, SizeOf(mxcd));
        mxcd.dwControlID := mxc.dwControlID; 
        mxcd.cbStruct := SizeOf(mxcd); 
        mxcd.cMultipleItems := 0; 
        mxcd.cbDetails := SizeOf(Vol); 
        mxcd.paDetails := @vol; 
        mxcd.cChannels := 1; 

       vol.dwValue := mxlc.pamxctrl.Bounds.lMinimum;
       vol.dwValue := mxlc.pamxctrl.Bounds.lMaximum;
        vol.dwValue := bValue;
        intRet := mixerSetControlDetails(hMix, @mxcd, 
          MIXER_SETCONTROLDETAILSF_VALUE); 
        if intRet <> MMSYSERR_NOERROR then
          MessageBeep(16);
      end 
      else 
       MessageBeep(16);
    end;
    intRet := mixerClose(hMix);
  end; 
end;
[ borovac @ 28.11.2004. 01:26 ] @
Hvala za ovo.
Da li znate možda neke komponente za ova dva problema?