mudar a fonte do bloco de notas
No programa , eu faço um relatorio em um arquivo txt. So que o tamanho da fonte depende de como esta configurado o Bloco de notas no Windows. Acho que o tamanho da fonte padrão é Size=10.. Mas eu preciso que independentemente do Padrão do Windows Tudo que eu gravar neste Bloco de notas seje no Formato Size=8
Como alterar este Padrão do Windows Via delphi :?: :?: :?:
Obrigado...
Como alterar este Padrão do Windows Via delphi :?: :?: :?:
Obrigado...
Marco Salles
Curtidas 0
Respostas
Dedi
15/09/2005
Amigo,
para usar:
Function Tform1.MudaFonteNote(Afonte:string):string; var Reg: Tregistry;//coloque "registry" no uses... begin try Reg:=Tregistry.create; with Reg do begin rootkey:=HKEY_CURRENT_USER; Openkey(´Software\Microsoft\Notepad´,false); Result:= readstring(´lfFaceName´); if Result <> Afonte then writestring(´lfFaceName´, Afonte); closekey; end; except end; end;
para usar:
procedure TForm1.ImprimiPad; var fonteantiga:string; begin if FileExists(´000ce.txt´) then begin fonteantiga:=MudaFonteNote(´Courier´); WinExec(pchar(´NotePad.exe /p ´+´000ce.txt´),SW_SHOWMINIMIZED); MudaFonteNote(fonteantiga); end; end;
GOSTEI 0
Marco Salles
15/09/2005
Beleza .. Obrigado pela participação.. Mas to testando aqui e estou verificando que é show a dica.. Mas ela esta alterando a fonte , e eu preciso é que altere o tamnaho da fonte...
Obrigado
Obrigado
GOSTEI 0
Marco Salles
15/09/2005
Acho que a filosofia é a mesma que o amigo Dedi postou.. So com a diferença que o Registro para o Size(Tamanho ) é outro e o Parametro tb também é outro
Concluindo.. Ainda estou precisando disso :cry: :cry:
Concluindo.. Ainda estou precisando disso :cry: :cry:
GOSTEI 0
Dedi
15/09/2005
Marcos,
Vc pode alterar varios paramentros do notpad (algumas parametros não estao nas versoes anteriores ao Win XP)
lfEscapement dword
lfOrientation dword
lfWeight dword
lfItalic dword
lfUnderline dword
lfStrikeOut dword
lfCharSet dword
lfOutPrecisiondword
lfClipPrecisiondword
lfQuality dword
lfPitchAndFamily dword
iPointSize dword
fWrap dword
StatusBar dword
fSaveWindowPositions dword
lfFaceNameString
szHeader String
szTrailer String
iMarginTop dword
iMarginBottomdword
iMarginLeft dword
iMarginRightdword
fMLE_is_brokendword
iWindowPosXdword
iWindowPosYdword
iWindowPosDXdword
iWindowPosDYdword
Com alteraçoes no codigo vc poderar alterar estes parametros.No seu caso seria assim:
Vc pode alterar varios paramentros do notpad (algumas parametros não estao nas versoes anteriores ao Win XP)
lfEscapement dword
lfOrientation dword
lfWeight dword
lfItalic dword
lfUnderline dword
lfStrikeOut dword
lfCharSet dword
lfOutPrecisiondword
lfClipPrecisiondword
lfQuality dword
lfPitchAndFamily dword
iPointSize dword
fWrap dword
StatusBar dword
fSaveWindowPositions dword
lfFaceNameString
szHeader String
szTrailer String
iMarginTop dword
iMarginBottomdword
iMarginLeft dword
iMarginRightdword
fMLE_is_brokendword
iWindowPosXdword
iWindowPosYdword
iWindowPosDXdword
iWindowPosDYdword
Com alteraçoes no codigo vc poderar alterar estes parametros.No seu caso seria assim:
Function Tform1.MudaFonteNote(vTamFonte:integer):integer; var Reg: Tregistry;//coloque "registry" no uses... begin try Reg:=Tregistry.create; with Reg do begin rootkey:=HKEY_CURRENT_USER; Openkey(´Software\Microsoft\Notepad´,false); Result:= ReadInteger(´iPointSize´); if Result <> vTamFonte then WriteInteger(´iPointSize´, vTamFonte); closekey; end; except end; end; procedure TForm1.ImprimiPad; var TamFonte:integer; begin if FileExists(´000ce.txt´) then begin TamFonte:=MudaFonteNote(200); //200= fonte 20 WinExec(pchar(´NotePad.exe /p ´+´000ce.txt´),SW_SHOWMINIMIZED); MudaFonteNote(TamFonte); end; end;
GOSTEI 0
Marco Salles
15/09/2005
Beleza Dedi... Ontem mesmo eu tinha feito exatamente como voce postou no primeiro tópico usando o iPointSize , so que eu não tinha certeza do tipo de parametros.. So testei como String e não deu certo , e não o fiz como integer. :cry: :cry: :cry:
Apareceu erro em tempo de execução :
Tipo de dados inválidos para iPointSize :cry: :cry: :cry:
E eu parei por ai :cry: :cry: :cry: Sem altera-los para integer... :lol:
Veja que o tópico anterior [b:7e48d76085]<nos postamos quase que simultaneamente >[/b:7e48d76085]: e nele eu escrevi:
So escrevo isso , para lhe agradecer e disser que apos o seu primeiro post eu tentei resolver o problema . Mas como diz o Nosso amigo cabelo :
[b:7e48d76085]Muito obrigado...[/b:7e48d76085]
Apareceu erro em tempo de execução :
Tipo de dados inválidos para iPointSize :cry: :cry: :cry:
E eu parei por ai :cry: :cry: :cry: Sem altera-los para integer... :lol:
Veja que o tópico anterior [b:7e48d76085]<nos postamos quase que simultaneamente >[/b:7e48d76085]: e nele eu escrevi:
Acho que a filosofia é a mesma que o amigo Dedi postou.. So com a diferença que o Registro para o Size(Tamanho ) é outro e o Parametro tb também é outro
So escrevo isso , para lhe agradecer e disser que apos o seu primeiro post eu tentei resolver o problema . Mas como diz o Nosso amigo cabelo :
[b:7e48d76085]´Se não deu é porque ainda não chegou a hora ´[/b:7e48d76085]
[b:7e48d76085]Muito obrigado...[/b:7e48d76085]
GOSTEI 0